react-native-hyperkyc-sdk 0.30.0 → 0.30.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.
@@ -13,6 +13,7 @@ import com.facebook.react.bridge.Callback;
13
13
  import com.facebook.react.bridge.ReadableMap;
14
14
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
15
15
  import com.facebook.react.bridge.ReadableNativeMap;
16
+ import com.facebook.react.bridge.ReadableType;
16
17
  import com.facebook.react.bridge.WritableMap;
17
18
  import com.facebook.react.bridge.WritableNativeMap;
18
19
  import com.google.gson.Gson;
@@ -105,13 +106,30 @@ public class HyperkycSdkModule extends ReactContextBaseJavaModule {
105
106
  }
106
107
  }
107
108
 
108
- private Map<String, String> processReadableMap(ReadableMap rm) {
109
- Map<String, Any> map = new HashMap<>();
109
+ private Map<String, Object> processReadableMap(ReadableMap rm) {
110
+ Map<String, Object> map = new HashMap<>();
110
111
  ReadableMapKeySetIterator iterator = rm.keySetIterator();
111
112
  while (iterator.hasNextKey()) {
112
113
  String key = iterator.nextKey();
113
- String value = rm.getString(key);
114
- map.put(key, value);
114
+ ReadableType type = rm.getType(key);
115
+
116
+ // Handle different types of values
117
+ switch (type) {
118
+ case Number:
119
+ double numberValue = rm.getDouble(key);
120
+ // Check if the value is an integer by comparing its fractional part
121
+ if (numberValue == Math.rint(numberValue)) { // rint rounds to the nearest integer
122
+ map.put(key, (int) numberValue); // It's an int, cast and put as Integer
123
+ } else {
124
+ map.put(key, numberValue); // It's a double
125
+ }
126
+ break;
127
+ case Boolean:
128
+ map.put(key, rm.getBoolean(key));
129
+ break;
130
+ default:
131
+ map.put(key, rm.getString(key));
132
+ }
115
133
  }
116
134
  return map;
117
135
  }
@@ -127,7 +145,7 @@ public class HyperkycSdkModule extends ReactContextBaseJavaModule {
127
145
  Boolean useLocation = kycConfig.hasKey("useLocation") ? kycConfig.getBoolean("useLocation") : null;
128
146
  String uniqueId = kycConfig.hasKey("uniqueId") ? kycConfig.getString("uniqueId") : null;
129
147
  Map<String, String> metadata = new HashMap<>();
130
- metadata.put("sdk-version", "0.30.0");
148
+ metadata.put("sdk-version", "0.30.1");
131
149
  metadata.put("sdk-type", "React Native");
132
150
  if (accessToken == null) {
133
151
  assert appId != null;
@@ -32,7 +32,7 @@ class Hyperkyc: NSObject {
32
32
  let useLocation = _config["useLocation"] as? Bool
33
33
  let uniqueId = _config["uniqueId"] as? String
34
34
  let metadata: [String: String] = [
35
- "sdk-version": "0.30.0",
35
+ "sdk-version": "0.30.1",
36
36
  "sdk-type": "React Native"
37
37
  ]
38
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-hyperkyc-sdk",
3
- "version": "0.30.0",
3
+ "version": "0.30.2",
4
4
  "description": "React Native wrapper for HyperKYC SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",