@microblink/blinkid-react-native 7.6.1 → 7.7.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 (88) hide show
  1. package/README.md +7 -4
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +3 -5
  4. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +781 -710
  5. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +54 -57
  6. package/ios/BlinkIdSerializationUtilities.swift +694 -657
  7. package/ios/BlinkidReactNative.h +10 -2
  8. package/ios/BlinkidReactNative.mm +62 -48
  9. package/ios/BlinkidReactNativeModule.swift +2 -2
  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 +1925 -780
  12. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  13. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +10139 -7306
  14. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +194 -122
  15. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  16. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +194 -122
  17. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +2 -0
  18. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +17 -17
  19. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +3 -3
  20. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  21. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +4034 -1744
  22. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  23. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +10139 -7306
  24. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +194 -122
  25. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  26. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +194 -122
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +10139 -7306
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +194 -122
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +194 -122
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +2 -0
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +27 -27
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +3 -3
  34. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +5 -5
  35. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  36. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +52 -635
  37. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  38. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  39. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  40. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  41. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  42. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +7045 -4222
  43. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +188 -90
  44. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +188 -90
  45. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  46. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +188 -90
  47. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  48. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  49. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  50. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  51. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +2 -234
  52. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  53. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +7045 -4222
  54. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +188 -90
  55. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +188 -90
  56. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  57. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +188 -90
  58. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +7045 -4222
  59. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +188 -90
  60. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +188 -90
  61. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +188 -90
  63. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +1 -1
  64. package/lib/module/NativeBlinkidReactNative.js +2 -1
  65. package/lib/module/NativeBlinkidReactNative.js.map +1 -1
  66. package/lib/module/blinkIdResult.js +58 -0
  67. package/lib/module/blinkIdResult.js.map +1 -1
  68. package/lib/module/index.js +4 -1
  69. package/lib/module/index.js.map +1 -1
  70. package/lib/module/types.js +78 -3
  71. package/lib/module/types.js.map +1 -1
  72. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +2 -2
  73. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -1
  74. package/lib/typescript/src/blinkIdResult.d.ts +27 -1
  75. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -1
  76. package/lib/typescript/src/index.d.ts +3 -0
  77. package/lib/typescript/src/index.d.ts.map +1 -1
  78. package/lib/typescript/src/types.d.ts +71 -6
  79. package/lib/typescript/src/types.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/src/NativeBlinkidReactNative.ts +4 -1
  82. package/src/android/.project +28 -0
  83. package/src/blinkIdResult.ts +65 -0
  84. package/src/blinkIdSettings.ts +1 -1
  85. package/src/index.tsx +9 -1
  86. package/src/types.ts +120 -12
  87. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
@@ -8,26 +8,25 @@ import com.facebook.react.bridge.Promise
8
8
  import com.facebook.react.bridge.ReactApplicationContext
9
9
  import com.facebook.react.module.annotations.ReactModule
10
10
  import com.microblink.blinkid.core.BlinkIdSdk
11
+ import com.microblink.blinkid.core.BlinkIdSdkSettings
11
12
  import com.microblink.blinkid.core.session.BlinkIdProcessResult
12
- import com.microblink.blinkid.ux.contract.BlinkIdScanActivityResultStatus
13
13
  import com.microblink.blinkid.ux.contract.BlinkIdScanActivitySettings
14
14
  import com.microblink.blinkid.ux.contract.MbBlinkIdScan
15
- import com.microblink.core.LicenseLockedException
16
15
  import com.microblink.core.image.InputImage
17
16
  import com.microblink.core.ping.PingManager
18
17
  import com.microblink.core.ping.pinglets.WrapperProductInfo
18
+ import com.microblink.ux.contract.ScanActivityResultStatus
19
19
  import kotlinx.coroutines.CoroutineScope
20
20
  import kotlinx.coroutines.Dispatchers
21
21
  import kotlinx.coroutines.launch
22
22
  import kotlinx.coroutines.withContext
23
- import okhttp3.Dispatcher
24
23
  import org.json.JSONObject
25
24
 
26
25
  @ReactModule(name = BlinkidReactNativeModule.NAME)
27
26
  class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
28
27
  NativeBlinkidReactNativeSpec(reactContext) {
29
28
  private val BLINKID_REQUEST_CODE = 1453
30
- private val BLINKID_ERROR_RESULT_CODE = "BlinkIdAndroid"
29
+ private val BLINKID_ERROR_RESULT_CODE = "BlinkIdAndroidError"
31
30
  var pendingPromise: Promise? = null
32
31
  private var blinkIdSdk: BlinkIdSdk? = null
33
32
 
@@ -47,14 +46,7 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
47
46
  pendingPromise?.resolve("")
48
47
  } catch (error: Exception) {
49
48
  blinkIdSdk = null
50
- when (error) {
51
- is LicenseLockedException -> {
52
- pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
53
- }
54
- else -> {
55
- pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
56
- }
57
- }
49
+ pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
58
50
  }
59
51
  }
60
52
  }
@@ -91,26 +83,33 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
91
83
 
92
84
  val blinkIdResult = MbBlinkIdScan().parseResult(resultCode, data)
93
85
  when (blinkIdResult.status) {
94
- BlinkIdScanActivityResultStatus.DocumentScanned -> {
86
+ ScanActivityResultStatus.Scanned -> {
95
87
  blinkIdResult.result?.let { scanningResult ->
96
88
  val success = BlinkIdSerializationUtilities.serializeBlinkIdScanningResult(
97
89
  scanningResult
98
90
  )
99
91
  pendingPromise?.resolve(success)
100
-
92
+ blinkIdSdk = null
101
93
  } ?: pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "BlinkID result is empty.")
102
94
  }
103
95
 
104
- BlinkIdScanActivityResultStatus.Canceled -> {
96
+ ScanActivityResultStatus.Canceled -> {
105
97
  pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Scanning is canceled.")
106
- suspend { BlinkIdSdk.sdkInstance?.close() }
98
+ blinkIdSdk = null
99
+ suspend {
100
+ BlinkIdSdk.sdkInstance?.close()
101
+ }
107
102
  }
108
103
 
109
- BlinkIdScanActivityResultStatus.ErrorSdkInit -> {
104
+ ScanActivityResultStatus.ErrorSdkInit -> {
110
105
  pendingPromise?.reject(
111
106
  BLINKID_ERROR_RESULT_CODE,
112
107
  "Could not initialize the SDK."
113
108
  )
109
+ blinkIdSdk = null
110
+ suspend {
111
+ BlinkIdSdk.sdkInstance?.close()
112
+ }
114
113
  }
115
114
  }
116
115
  }
@@ -125,48 +124,44 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
125
124
  classFilter: String?,
126
125
  promise: Promise?
127
126
  ) {
128
- pendingPromise = promise
127
+ CoroutineScope(Dispatchers.Main).launch {
128
+ pendingPromise = promise
129
+ try {
130
+ val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
131
+ val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
132
+ val classFilterJson = classFilter?.let { JSONObject(it) }
133
+ val blinkIdScanningUxJson = blinkIdScanningUxSettings?.let { JSONObject(it) }
134
+ val sdkSettings: BlinkIdSdkSettings = sdkSettingsJson?.let {
135
+ BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(it)
136
+ }?:return@launch withContext(Dispatchers.Main) {
137
+ promise?.reject(BLINKID_ERROR_RESULT_CODE, "Invalid SDK settings")
138
+ }
129
139
 
130
- try {
131
- val sdkSettingsJson = blinkIdSdkSettings?.let { JSONObject(it) }
132
- val sessionSettingsJson = blinkIdSessionSettings?.let { JSONObject(it) }
133
- val classFilterJson = classFilter?.let { JSONObject(it) }
134
- val blinkIdScanningUxJson = blinkIdScanningUxSettings?.let { JSONObject(it) }
135
- val sdkSettings = sdkSettingsJson?.let {
136
- BlinkIdDeserializationUtilities.deserializeBlinkIdSdkSettings(it)
137
- } ?: run {
138
- pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Invalid SDK settings.")
139
- return
140
- }
140
+ blinkIdSdk = ensureLoadedSdk(sdkSettingsJson)
141
141
 
142
- reactApplicationContext.currentActivity?.applicationContext?.let {
143
- val intent = MbBlinkIdScan().createIntent(
144
- it,
145
- BlinkIdScanActivitySettings(
146
- sdkSettings = sdkSettings,
147
- cameraSettings = BlinkIdDeserializationUtilities.deserializeCameraSettings(blinkIdScanningUxJson),
148
- scanningSessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
149
- sessionSettingsJson,
150
- false
151
- ),
152
- uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdScanningUxSettings(
153
- blinkIdScanningUxJson,
154
- classFilterJson,
155
- ),
156
- showHelpButton = blinkIdScanningUxJson?.optBoolean("showHelpButton", true)?: true,
157
- showOnboardingDialog = blinkIdScanningUxJson?.optBoolean("showOnboardingDialog", true) ?: true
142
+ reactApplicationContext.currentActivity?.applicationContext?.let {
143
+ val intent = MbBlinkIdScan().createIntent(
144
+ it,
145
+ BlinkIdScanActivitySettings(
146
+ sdkSettings = sdkSettings,
147
+ cameraSettings = BlinkIdDeserializationUtilities.deserializeCameraSettings(blinkIdScanningUxJson),
148
+ scanningSessionSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdSessionSettings(
149
+ sessionSettingsJson,
150
+ false
151
+ ),
152
+ uxSettings = BlinkIdDeserializationUtilities.deserializeBlinkIdScanningUxSettings(
153
+ blinkIdScanningUxJson,
154
+ classFilterJson,
155
+ ),
156
+ showHelpButton = blinkIdScanningUxJson?.optBoolean("showHelpButton", true)?: true,
157
+ showOnboardingDialog = blinkIdScanningUxJson?.optBoolean("showOnboardingDialog", true) ?: true
158
+ )
158
159
  )
159
- )
160
- addReactNativePinglet(it)
161
- reactApplicationContext.startActivityForResult(intent, BLINKID_REQUEST_CODE, null)
162
- } ?: pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Activity not found.")
163
- } catch (error: Exception) {
164
- when (error) {
165
- is LicenseLockedException -> {
166
- pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
167
- }
168
-
169
- else -> {
160
+ addReactNativePinglet(it)
161
+ reactApplicationContext.startActivityForResult(intent, BLINKID_REQUEST_CODE, null)
162
+ } ?: run { pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Activity not found.")}
163
+ } catch (error: Exception) {
164
+ run {
170
165
  pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, error.message)
171
166
  }
172
167
  }
@@ -227,7 +222,9 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
227
222
 
228
223
  it.close()
229
224
  blinkIdSdk = null
230
- }?:pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Reason: The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or try running the performDirectApiScan() method with a valid internet connection.", null)
225
+ }?: return@launch withContext(Dispatchers.Main) {
226
+ pendingPromise?.reject(BLINKID_ERROR_RESULT_CODE, "Reason: The BlinkID SDK is not initialized. Call the loadBlinkIdSdk() method to pre-load the SDK first, or try running the performDirectApiScan() method with a valid internet connection.", null)
227
+ }
231
228
  } catch (e: Exception) {
232
229
  withContext(Dispatchers.Main) {
233
230
  promise?.reject(BLINKID_ERROR_RESULT_CODE, e.message)