@microblink/blinkid-react-native 7.6.1 → 7.6.2

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.
package/README.md CHANGED
@@ -32,6 +32,7 @@ A valid license key is required to initialize the BlinkID plugin. A free trial l
32
32
  ## <a name="requirements"></a> Requirements
33
33
 
34
34
  - BlinkID React Native was built and tested with [React Native v0.82.1](https://github.com/facebook/react-native/releases/tag/v0.82.1)
35
+ - The BlinkID React Native SDK is also compatible with React Native applications running on the old architecture as it contains backward compatibility with Native Module implementation.
35
36
  - For additional help with React-Native setup, view the official documentation [here](https://reactnative.dev/docs/set-up-your-environment).
36
37
 
37
38
  **Device requirements**
@@ -181,9 +182,11 @@ import {
181
182
  * Modify the BlinkID UI settings for UI customization.
182
183
  * This parameter is optional.
183
184
  */
184
- const uiSettings = new BlinkIdUiSettings();
185
- uiSettings.showHelpButton = true;
186
- uiSettings.showOnboardingDialog = false;
185
+ const blinkIdScanningUxSettings = new BlinkIdScanningUxSettings();
186
+ blinkIdScanningUxSettings.showHelpButton = true;
187
+ blinkIdScanningUxSettings.showOnboardingDialog = true;
188
+ blinkIdScanningUxSettings.allowHapticFeedback = true;
189
+ blinkIdScanningUxSettings.preferredCamera = PreferredCamera.Back;
187
190
 
188
191
  /**
189
192
  * Add the document class filter. This parameter is optional.
@@ -204,7 +207,7 @@ import {
204
207
  * Here, you can also pass the optional BlinkIdUiSettings and ClassFilter
205
208
  * parameters.
206
209
  */
207
- await performScan(sdkSettings, sessionSettings, uiSettings)
210
+ await performScan(sdkSettings, sessionSettings, blinkIdScanningUxSettings)
208
211
  .then((result: BlinkIdScanningResult) => {
209
212
  // handle the results here.
210
213
  console.log(result.firstName?.value);
@@ -1,2 +1,2 @@
1
- #Mon Jul 21 15:42:56 CEST 2025
1
+ #Tue Dec 09 11:51:57 CET 2025
2
2
  gradle.version=8.9
@@ -8,11 +8,11 @@ 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
13
  import com.microblink.blinkid.ux.contract.BlinkIdScanActivityResultStatus
13
14
  import com.microblink.blinkid.ux.contract.BlinkIdScanActivitySettings
14
15
  import com.microblink.blinkid.ux.contract.MbBlinkIdScan
15
- import com.microblink.core.LicenseLockedException
16
16
  import com.microblink.core.image.InputImage
17
17
  import com.microblink.core.ping.PingManager
18
18
  import com.microblink.core.ping.pinglets.WrapperProductInfo
@@ -20,14 +20,13 @@ 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
  }
@@ -97,13 +89,16 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
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
96
  BlinkIdScanActivityResultStatus.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
104
  BlinkIdScanActivityResultStatus.ErrorSdkInit -> {
@@ -111,6 +106,10 @@ class BlinkidReactNativeModule(reactContext: ReactApplicationContext) :
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)
@@ -1,6 +1,14 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ #ifdef RCT_NEW_ARCH_ENABLED
1
5
  #import <BlinkidReactNativeSpec/BlinkidReactNativeSpec.h>
6
+ #endif
2
7
 
3
- @interface BlinkidReactNative : NSObject <NativeBlinkidReactNativeSpec>
4
- - (NSDictionary *)createDictionaryFromBlinkIdObject:(NSString *)jsonString;
8
+ @interface BlinkidReactNative : RCTEventEmitter <RCTBridgeModule>
9
+ @end
5
10
 
11
+ #ifdef RCT_NEW_ARCH_ENABLED
12
+ @interface BlinkidReactNative () <NativeBlinkidReactNativeSpec>
6
13
  @end
14
+ #endif
@@ -1,40 +1,55 @@
1
1
  #import "BlinkidReactNative.h"
2
2
  #import "BlinkidReactNative-Swift.h"
3
3
 
4
+ #ifdef RCT_NEW_ARCH_ENABLED
5
+ #import <BlinkidReactNativeSpec/BlinkidReactNativeSpec.h>
6
+ #endif
7
+
4
8
  @implementation BlinkidReactNative {
5
- BlinkidReactNativeModule *moduleImplementation;
9
+ BlinkidReactNativeModule *moduleImplementation;
6
10
  }
7
11
 
8
- -(instancetype) init {
9
- self = [super init];
10
- if (self) {
11
- moduleImplementation = [BlinkidReactNativeModule new];
12
- }
13
- return self;
12
+ - (instancetype)init
13
+ {
14
+ if (self = [super init]) {
15
+ moduleImplementation = [BlinkidReactNativeModule new];
16
+ }
17
+ return self;
14
18
  }
15
19
 
16
- RCT_EXPORT_MODULE()
20
+ RCT_EXPORT_MODULE(BlinkidReactNative);
17
21
 
18
- - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
19
- (const facebook::react::ObjCTurboModule::InitParams &)params
22
+ RCT_EXPORT_METHOD(loadBlinkIdSdk:(NSString *)blinkIdSdkSettings
23
+ resolve:(RCTPromiseResolveBlock)resolve
24
+ reject:(RCTPromiseRejectBlock)reject)
20
25
  {
21
- return std::make_shared<facebook::react::NativeBlinkidReactNativeSpecJSI>(params);
26
+ [self->moduleImplementation loadSdk: [self createDictionaryFromBlinkIdObject:blinkIdSdkSettings] onResolve:^(NSString * _Nonnull) {
27
+ resolve(@"");
28
+ } onReject:^(NSString * _Nonnull error) {
29
+ reject(@"BlinkIdIosError", error, nil);
30
+ }];
22
31
  }
23
32
 
24
-
25
- + (NSDictionary *)dictionaryFromBlinkIdObject:(NSString *)jsonString {
26
- NSError *jsonError;
27
- NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
28
- if (!data) return nil;
29
-
30
- NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
31
- options:NSJSONReadingMutableContainers
32
- error:&jsonError];
33
- return dict;
33
+ RCT_EXPORT_METHOD(unloadBlinkIdSdk:(BOOL)deleteCachedResources
34
+ resolve:(RCTPromiseResolveBlock)resolve
35
+ reject:(RCTPromiseRejectBlock)reject)
36
+ {
37
+ [self->moduleImplementation
38
+ unloadSdk:deleteCachedResources
39
+ onResolve:^(NSString * _Nonnull) {
40
+ resolve(@"");
41
+ } onReject:^(NSString * _Nonnull error) {
42
+ reject(@"BlinkIdIosError", error, nil);
43
+ }];
34
44
  }
35
45
 
36
- - (void)performScan:(nonnull NSString *)blinkIdSdkSettings blinkIdSessionSettings:(nonnull NSString *)blinkIdSessionSettings blinkIdScanningUxSettings:(nonnull NSString *)blinkIdScanningUxSettings classFilter:(nonnull NSString *)classFilter resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
37
-
46
+ RCT_EXPORT_METHOD(performScan:(NSString *)blinkIdSdkSettings
47
+ blinkIdSessionSettings:(NSString *)blinkIdSessionSettings
48
+ blinkIdScanningUxSettings:(NSString *)blinkIdScanningUxSettings
49
+ classFilter:(NSString *)classFilter
50
+ resolve:(RCTPromiseResolveBlock)resolve
51
+ reject:(RCTPromiseRejectBlock)reject)
52
+ {
38
53
  dispatch_async(dispatch_get_main_queue(), ^{
39
54
  UIWindow *keyWindow = nil;
40
55
 
@@ -67,8 +82,13 @@ RCT_EXPORT_MODULE()
67
82
  });
68
83
  }
69
84
 
70
-
71
- - (void)performDirectApiScan:(nonnull NSString *)blinkIdSdkSettings blinkIdSessionSettings:(nonnull NSString *)blinkIdSessionSettings firstImage:(nonnull NSString *)firstImage secondImage:(nonnull NSString *)secondImage resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
85
+ RCT_EXPORT_METHOD(performDirectApiScan:(NSString *)blinkIdSdkSettings
86
+ blinkIdSessionSettings:(NSString *)blinkIdSessionSettings
87
+ firstImage:(NSString *)firstImage
88
+ secondImage:(NSString *)secondImage
89
+ resolve:(RCTPromiseResolveBlock)resolve
90
+ reject:(RCTPromiseRejectBlock)reject)
91
+ {
72
92
  [self->moduleImplementation
73
93
  performDirectApiScanWithBlinkIdSdkSettings: [self createDictionaryFromBlinkIdObject: blinkIdSdkSettings]
74
94
  blinkIdSessionSettings: [self createDictionaryFromBlinkIdObject: blinkIdSessionSettings]
@@ -81,32 +101,26 @@ RCT_EXPORT_MODULE()
81
101
  }];
82
102
  }
83
103
 
84
- - (void)loadBlinkIdSdk:(nonnull NSString *)blinkIdSdkSettings resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
85
- [self->moduleImplementation loadSdk:[self createDictionaryFromBlinkIdObject:blinkIdSdkSettings] onResolve:^(NSString * _Nonnull) {
86
- resolve(@"");
87
- } onReject:^(NSString * _Nonnull error) {
88
- reject(@"BlinkIdIosError", error, nil);
89
- }];
104
+ #ifdef RCT_NEW_ARCH_ENABLED
105
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
106
+ (const facebook::react::ObjCTurboModule::InitParams &)params
107
+ {
108
+ return std::make_shared<facebook::react::NativeBlinkidReactNativeSpecJSI>(params);
90
109
  }
110
+ #endif // RCT_NEW_ARCH_ENABLED
91
111
 
112
+ - (NSDictionary *)createDictionaryFromBlinkIdObject:(NSString *)jsonString
113
+ {
114
+ NSError *jsonError;
115
+ NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
116
+ if (!data) {
117
+ return nil;
118
+ }
92
119
 
93
- - (void)unloadBlinkIdSdk:(BOOL)deleteCachedResources resolve:(nonnull RCTPromiseResolveBlock)resolve reject:(nonnull RCTPromiseRejectBlock)reject {
94
- [self->moduleImplementation unloadSdk:deleteCachedResources onResolve:^(NSString * _Nonnull) {
95
- resolve(@"");
96
- } onReject:^(NSString * _Nonnull error) {
97
- reject(@"BlinkIdIosError", error, nil);
98
- }];
99
- }
100
-
101
- - (NSDictionary *)createDictionaryFromBlinkIdObject:(NSString *)jsonString {
102
- NSError *jsonError;
103
- NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
104
- if (!data) return nil;
105
-
106
- NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
107
- options:NSJSONReadingMutableContainers
108
- error:&jsonError];
109
- return dict;
120
+ NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data
121
+ options:NSJSONReadingMutableContainers
122
+ error:&jsonError];
123
+ return dict;
110
124
  }
111
125
 
112
126
  @end
@@ -11,5 +11,6 @@ import { TurboModuleRegistry } from "react-native";
11
11
  * The Turbo Module contains the functions `performScan` and `performDirectApiScan` which enable the BlinkID scanning process, with the default UX properties, and with static images.
12
12
  */
13
13
 
14
- export default TurboModuleRegistry.getEnforcing("BlinkidReactNative");
14
+ const BlinkidReactNative = TurboModuleRegistry.getEnforcing("BlinkidReactNative");
15
+ export default BlinkidReactNative;
15
16
  //# sourceMappingURL=NativeBlinkidReactNative.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeBlinkidReactNative.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmFA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","BlinkidReactNative","getEnforcing"],"sourceRoot":"../../src","sources":["NativeBlinkidReactNative.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmFA,MAAMC,kBAAwB,GAC5BD,mBAAmB,CAACE,YAAY,CAAO,oBAAoB,CAAC;AAE9D,eAAeD,kBAAkB","ignoreList":[]}
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ // index.ts
3
4
  import { BlinkIdScanningResult } from "./blinkIdResult.js";
4
- import BlinkidReactNative from "./NativeBlinkidReactNative.js";
5
5
  // Configuration classes
6
6
  export { BlinkIdScanningSettings, BlinkIdSdkSettings, BlinkIdSessionSettings, BlinkIdScanningUxSettings, CroppedImageSettings } from "./blinkIdSettings.js";
7
7
  export { BlinkIdScanningResult } from "./blinkIdResult.js";
8
8
 
9
9
  // Types & enums
10
10
  export * from "./types.js";
11
+ const BlinkidReactNative = require("./NativeBlinkidReactNative").default;
12
+ export default BlinkidReactNative;
11
13
 
12
14
  /** The `loadBlinkIdSdk` method creates or retrieves the instance of the BlinkID SDK.
13
15
  *
@@ -79,6 +81,7 @@ export async function performScan(blinkIdSdkSettings, blinkIdSessionSettings, bl
79
81
  const jsonResult = await BlinkidReactNative.performScan(JSON.stringify(blinkIdSdkSettings), JSON.stringify(blinkIdSessionSettings), JSON.stringify(blinkIdScanningUxSettings), JSON.stringify(classFilter));
80
82
  return new BlinkIdScanningResult(JSON.parse(jsonResult));
81
83
  }
84
+
82
85
  /**
83
86
  * The `performDirectApiScan` platform channel method launches the BlinkID scanning process inteded for information extraction from static images.
84
87
  *
@@ -1 +1 @@
1
- {"version":3,"names":["BlinkIdScanningResult","BlinkidReactNative","BlinkIdScanningSettings","BlinkIdSdkSettings","BlinkIdSessionSettings","BlinkIdScanningUxSettings","CroppedImageSettings","loadBlinkIdSdk","blinkIdSdkSettings","JSON","stringify","unloadBlinkIdSdk","deleteCachedResources","performScan","blinkIdSessionSettings","blinkIdScanningUxSettings","classFilter","jsonResult","parse","performDirectApiScan","firstImage","secondImage"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,oBAAiB;AAMvD,OAAOC,kBAAkB,MAAM,+BAA4B;AAG3D;AACA,SACEC,uBAAuB,EACvBC,kBAAkB,EAClBC,sBAAsB,EACtBC,yBAAyB,EACzBC,oBAAoB,QACf,sBAAmB;AAE1B,SAASN,qBAAqB,QAAQ,oBAAiB;;AAEvD;AACA,cAAc,YAAS;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,cAAcA,CAClCC,kBAAsC,EACvB;EACf,MAAMP,kBAAkB,CAACM,cAAc,CAACE,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,CAAC;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,gBAAgBA,CACpCC,qBAA8B,EACf;EACf,MAAMX,kBAAkB,CAACU,gBAAgB,CAACC,qBAAqB,CAAC;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BL,kBAAsC,EACtCM,sBAA8C,EAC9CC,yBAAqD,EACrDC,WAAyB,EACO;EAChC,MAAMC,UAAU,GAAG,MAAMhB,kBAAkB,CAACY,WAAW,CACrDJ,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,EAClCC,IAAI,CAACC,SAAS,CAACI,sBAAsB,CAAC,EACtCL,IAAI,CAACC,SAAS,CAACK,yBAAyB,CAAC,EACzCN,IAAI,CAACC,SAAS,CAACM,WAAW,CAC5B,CAAC;EACD,OAAO,IAAIhB,qBAAqB,CAACS,IAAI,CAACS,KAAK,CAACD,UAAU,CAAC,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,oBAAoBA,CACxCX,kBAAsC,EACtCM,sBAA8C,EAC9CM,UAAkB,EAClBC,WAAoB,EACY;EAChC,MAAMJ,UAAU,GAAG,MAAMhB,kBAAkB,CAACkB,oBAAoB,CAC9DV,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,EAClCC,IAAI,CAACC,SAAS,CAACI,sBAAsB,CAAC,EACtCM,UAAU,EACVC,WACF,CAAC;EACD,OAAO,IAAIrB,qBAAqB,CAACS,IAAI,CAACS,KAAK,CAACD,UAAU,CAAC,CAAC;AAC1D","ignoreList":[]}
1
+ {"version":3,"names":["BlinkIdScanningResult","BlinkIdScanningSettings","BlinkIdSdkSettings","BlinkIdSessionSettings","BlinkIdScanningUxSettings","CroppedImageSettings","BlinkidReactNative","require","default","loadBlinkIdSdk","blinkIdSdkSettings","JSON","stringify","unloadBlinkIdSdk","deleteCachedResources","performScan","blinkIdSessionSettings","blinkIdScanningUxSettings","classFilter","jsonResult","parse","performDirectApiScan","firstImage","secondImage"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,qBAAqB,QAAQ,oBAAiB;AASvD;AACA,SACEC,uBAAuB,EACvBC,kBAAkB,EAClBC,sBAAsB,EACtBC,yBAAyB,EACzBC,oBAAoB,QACf,sBAAmB;AAE1B,SAASL,qBAAqB,QAAQ,oBAAiB;;AAEvD;AACA,cAAc,YAAS;AAEvB,MAAMM,kBAAwB,GAAGC,OAAO,CAAC,4BAA4B,CAAC,CAACC,OAAO;AAE9E,eAAeF,kBAAkB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,cAAcA,CAClCC,kBAAsC,EACvB;EACf,MAAMJ,kBAAkB,CAACG,cAAc,CAACE,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,CAAC;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,gBAAgBA,CACpCC,qBAA8B,EACf;EACf,MAAMR,kBAAkB,CAACO,gBAAgB,CAACC,qBAAqB,CAAC;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BL,kBAAsC,EACtCM,sBAA8C,EAC9CC,yBAAqD,EACrDC,WAAyB,EACO;EAChC,MAAMC,UAAU,GAAG,MAAMb,kBAAkB,CAACS,WAAW,CACrDJ,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,EAClCC,IAAI,CAACC,SAAS,CAACI,sBAAsB,CAAC,EACtCL,IAAI,CAACC,SAAS,CAACK,yBAAyB,CAAC,EACzCN,IAAI,CAACC,SAAS,CAACM,WAAW,CAC5B,CAAC;EAED,OAAO,IAAIlB,qBAAqB,CAACW,IAAI,CAACS,KAAK,CAACD,UAAU,CAAC,CAAC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeE,oBAAoBA,CACxCX,kBAAsC,EACtCM,sBAA8C,EAC9CM,UAAkB,EAClBC,WAAoB,EACY;EAChC,MAAMJ,UAAU,GAAG,MAAMb,kBAAkB,CAACe,oBAAoB,CAC9DV,IAAI,CAACC,SAAS,CAACF,kBAAkB,CAAC,EAClCC,IAAI,CAACC,SAAS,CAACI,sBAAsB,CAAC,EACtCM,UAAU,EACVC,WACF,CAAC;EAED,OAAO,IAAIvB,qBAAqB,CAACW,IAAI,CAACS,KAAK,CAACD,UAAU,CAAC,CAAC;AAC1D","ignoreList":[]}
@@ -75,6 +75,6 @@ export interface Spec extends TurboModule {
75
75
  */
76
76
  performDirectApiScan(blinkIdSdkSettings: string, blinkIdSessionSettings: string, firstImage: string, secondImage?: string): Promise<string>;
77
77
  }
78
- declare const _default: Spec;
79
- export default _default;
78
+ declare const BlinkidReactNative: Spec;
79
+ export default BlinkidReactNative;
80
80
  //# sourceMappingURL=NativeBlinkidReactNative.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NativeBlinkidReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativeBlinkidReactNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;OAcG;IACH,WAAW,CACT,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,EAAE,MAAM,EAC9B,yBAAyB,CAAC,EAAE,MAAM,EAClC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,EAAE,MAAM,EAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;;AAED,wBAA4E"}
1
+ {"version":3,"file":"NativeBlinkidReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativeBlinkidReactNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;OAcG;IACH,WAAW,CACT,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,EAAE,MAAM,EAC9B,yBAAyB,CAAC,EAAE,MAAM,EAClC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,oBAAoB,CAClB,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,EAAE,MAAM,EAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,IACoC,CAAC;AAE/D,eAAe,kBAAkB,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { BlinkIdScanningResult } from "./blinkIdResult";
2
2
  import type { BlinkIdSdkSettings, BlinkIdSessionSettings, BlinkIdScanningUxSettings } from "./blinkIdSettings";
3
3
  import type { ClassFilter } from "./types";
4
+ import type { Spec } from "./NativeBlinkidReactNative";
4
5
  export { BlinkIdScanningSettings, BlinkIdSdkSettings, BlinkIdSessionSettings, BlinkIdScanningUxSettings, CroppedImageSettings, } from "./blinkIdSettings";
5
6
  export { BlinkIdScanningResult } from "./blinkIdResult";
6
7
  export * from "./types";
8
+ declare const BlinkidReactNative: Spec;
9
+ export default BlinkidReactNative;
7
10
  /** The `loadBlinkIdSdk` method creates or retrieves the instance of the BlinkID SDK.
8
11
  *
9
12
  * Initializes and loads the BlinkID SDK if it is not already loaded.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,cAAc,SAAS,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAClC,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAC/B,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,CAAC,EAAE,yBAAyB,EACrD,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AACD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAQhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,kBAAkB,EAAE,IAAoD,CAAC;AAE/E,eAAe,kBAAkB,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,cAAc,CAClC,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAC/B,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,CAAC,EAAE,yBAAyB,EACrD,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,oBAAoB,CACxC,kBAAkB,EAAE,kBAAkB,EACtC,sBAAsB,EAAE,sBAAsB,EAC9C,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAShC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microblink/blinkid-react-native",
3
- "version": "7.6.1",
3
+ "version": "7.6.2",
4
4
  "description": "A small and powerful ID card scanning library. Powered by Microblink (www.microblink.com).",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -91,4 +91,7 @@ export interface Spec extends TurboModule {
91
91
  ): Promise<string>;
92
92
  }
93
93
 
94
- export default TurboModuleRegistry.getEnforcing<Spec>("BlinkidReactNative");
94
+ const BlinkidReactNative: Spec =
95
+ TurboModuleRegistry.getEnforcing<Spec>("BlinkidReactNative");
96
+
97
+ export default BlinkidReactNative;
package/src/index.tsx CHANGED
@@ -1,11 +1,12 @@
1
+ // index.ts
1
2
  import { BlinkIdScanningResult } from "./blinkIdResult";
2
3
  import type {
3
4
  BlinkIdSdkSettings,
4
5
  BlinkIdSessionSettings,
5
6
  BlinkIdScanningUxSettings,
6
7
  } from "./blinkIdSettings";
7
- import BlinkidReactNative from "./NativeBlinkidReactNative";
8
8
  import type { ClassFilter } from "./types";
9
+ import type { Spec } from "./NativeBlinkidReactNative";
9
10
 
10
11
  // Configuration classes
11
12
  export {
@@ -21,6 +22,10 @@ export { BlinkIdScanningResult } from "./blinkIdResult";
21
22
  // Types & enums
22
23
  export * from "./types";
23
24
 
25
+ const BlinkidReactNative: Spec = require("./NativeBlinkidReactNative").default;
26
+
27
+ export default BlinkidReactNative;
28
+
24
29
  /** The `loadBlinkIdSdk` method creates or retrieves the instance of the BlinkID SDK.
25
30
  *
26
31
  * Initializes and loads the BlinkID SDK if it is not already loaded.
@@ -103,8 +108,10 @@ export async function performScan(
103
108
  JSON.stringify(blinkIdScanningUxSettings),
104
109
  JSON.stringify(classFilter)
105
110
  );
111
+
106
112
  return new BlinkIdScanningResult(JSON.parse(jsonResult));
107
113
  }
114
+
108
115
  /**
109
116
  * The `performDirectApiScan` platform channel method launches the BlinkID scanning process inteded for information extraction from static images.
110
117
  *
@@ -137,5 +144,6 @@ export async function performDirectApiScan(
137
144
  firstImage,
138
145
  secondImage
139
146
  );
147
+
140
148
  return new BlinkIdScanningResult(JSON.parse(jsonResult));
141
149
  }
package/android/.project DELETED
@@ -1,28 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <projectDescription>
3
- <name>microblink_blinkid-react-native</name>
4
- <comment>Project microblink_blinkid-react-native created by Buildship.</comment>
5
- <projects>
6
- </projects>
7
- <buildSpec>
8
- <buildCommand>
9
- <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10
- <arguments>
11
- </arguments>
12
- </buildCommand>
13
- </buildSpec>
14
- <natures>
15
- <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16
- </natures>
17
- <filteredResources>
18
- <filter>
19
- <id>1753105404889</id>
20
- <name></name>
21
- <type>30</type>
22
- <matcher>
23
- <id>org.eclipse.core.resources.regexFilterMatcher</id>
24
- <arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
25
- </matcher>
26
- </filter>
27
- </filteredResources>
28
- </projectDescription>