react-native-okhi 1.2.17 → 1.2.18-beta.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.
Files changed (96) hide show
  1. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  3. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/8.9/gc.properties +0 -0
  7. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  9. package/android/.gradle/vcs-1/gc.properties +0 -0
  10. package/android/build.gradle +2 -2
  11. package/android/src/main/java/com/reactnativeokhi/OkhiModule.java +25 -11
  12. package/ios/Okhi.m +3 -0
  13. package/ios/Okhi.swift +15 -1
  14. package/ios/Okhi.xcodeproj/project.xcworkspace/xcuserdata/kiano.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  15. package/lib/commonjs/OkCollect/Helpers.js +0 -7
  16. package/lib/commonjs/OkCollect/Helpers.js.map +1 -1
  17. package/lib/commonjs/OkCollect/OkHiLocationManager.js +23 -59
  18. package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
  19. package/lib/commonjs/OkCollect/Spinner.js +1 -6
  20. package/lib/commonjs/OkCollect/Spinner.js.map +1 -1
  21. package/lib/commonjs/OkCollect/Util.js +21 -49
  22. package/lib/commonjs/OkCollect/Util.js.map +1 -1
  23. package/lib/commonjs/OkCollect/app.json +1 -1
  24. package/lib/commonjs/OkCollect/index.js +0 -5
  25. package/lib/commonjs/OkCollect/index.js.map +1 -1
  26. package/lib/commonjs/OkCollect/types.js.map +1 -1
  27. package/lib/commonjs/OkCore/Helpers.js +16 -90
  28. package/lib/commonjs/OkCore/Helpers.js.map +1 -1
  29. package/lib/commonjs/OkCore/OkHiAuth.js +9 -30
  30. package/lib/commonjs/OkCore/OkHiAuth.js.map +1 -1
  31. package/lib/commonjs/OkCore/OkHiException.js +54 -91
  32. package/lib/commonjs/OkCore/OkHiException.js.map +1 -1
  33. package/lib/commonjs/OkCore/OkHiMode.js +1 -3
  34. package/lib/commonjs/OkCore/OkHiMode.js.map +1 -1
  35. package/lib/commonjs/OkCore/_helpers.js +2 -9
  36. package/lib/commonjs/OkCore/_helpers.js.map +1 -1
  37. package/lib/commonjs/OkCore/_types.js.map +1 -1
  38. package/lib/commonjs/OkCore/index.js +3 -24
  39. package/lib/commonjs/OkCore/index.js.map +1 -1
  40. package/lib/commonjs/OkCore/types.js.map +1 -1
  41. package/lib/commonjs/OkHiNativeModule/index.js +2 -7
  42. package/lib/commonjs/OkHiNativeModule/index.js.map +1 -1
  43. package/lib/commonjs/OkVerify/index.js +19 -87
  44. package/lib/commonjs/OkVerify/index.js.map +1 -1
  45. package/lib/commonjs/OkVerify/types.js.map +1 -1
  46. package/lib/commonjs/index.js +0 -6
  47. package/lib/commonjs/index.js.map +1 -1
  48. package/lib/module/OkCollect/Helpers.js +1 -3
  49. package/lib/module/OkCollect/Helpers.js.map +1 -1
  50. package/lib/module/OkCollect/OkHiLocationManager.js +21 -42
  51. package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
  52. package/lib/module/OkCollect/Spinner.js +1 -1
  53. package/lib/module/OkCollect/Spinner.js.map +1 -1
  54. package/lib/module/OkCollect/Util.js +19 -37
  55. package/lib/module/OkCollect/Util.js.map +1 -1
  56. package/lib/module/OkCollect/app.json +1 -1
  57. package/lib/module/OkCollect/index.js.map +1 -1
  58. package/lib/module/OkCollect/types.js.map +1 -1
  59. package/lib/module/OkCore/Helpers.js +17 -56
  60. package/lib/module/OkCore/Helpers.js.map +1 -1
  61. package/lib/module/OkCore/OkHiAuth.js +9 -21
  62. package/lib/module/OkCore/OkHiAuth.js.map +1 -1
  63. package/lib/module/OkCore/OkHiException.js +54 -89
  64. package/lib/module/OkCore/OkHiException.js.map +1 -1
  65. package/lib/module/OkCore/OkHiMode.js.map +1 -1
  66. package/lib/module/OkCore/_helpers.js +2 -4
  67. package/lib/module/OkCore/_helpers.js.map +1 -1
  68. package/lib/module/OkCore/_types.js.map +1 -1
  69. package/lib/module/OkCore/index.js +3 -12
  70. package/lib/module/OkCore/index.js.map +1 -1
  71. package/lib/module/OkCore/types.js.map +1 -1
  72. package/lib/module/OkHiNativeModule/index.js +0 -1
  73. package/lib/module/OkHiNativeModule/index.js.map +1 -1
  74. package/lib/module/OkVerify/index.js +19 -36
  75. package/lib/module/OkVerify/index.js.map +1 -1
  76. package/lib/module/OkVerify/types.js.map +1 -1
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/typescript/OkCollect/OkHiLocationManager.d.ts +2 -1
  79. package/lib/typescript/OkCollect/Spinner.d.ts +2 -1
  80. package/lib/typescript/OkCollect/types.d.ts +5 -4
  81. package/lib/typescript/OkCore/_types.d.ts +3 -3
  82. package/lib/typescript/OkCore/types.d.ts +10 -5
  83. package/lib/typescript/OkHiNativeModule/index.d.ts +2 -3
  84. package/lib/typescript/OkVerify/index.d.ts +5 -11
  85. package/lib/typescript/OkVerify/types.d.ts +0 -5
  86. package/package.json +1 -1
  87. package/react-native-okhi.podspec +1 -1
  88. package/src/OkCollect/OkHiLocationManager.tsx +8 -4
  89. package/src/OkCollect/Util.ts +2 -0
  90. package/src/OkCollect/app.json +1 -1
  91. package/src/OkCollect/types.ts +4 -3
  92. package/src/OkCore/OkHiAuth.ts +5 -0
  93. package/src/OkCore/types.ts +7 -0
  94. package/src/OkHiNativeModule/index.ts +1 -3
  95. package/src/OkVerify/index.ts +19 -21
  96. package/src/OkVerify/types.ts +0 -3
File without changes
@@ -0,0 +1,2 @@
1
+ #Fri Sep 06 21:55:01 EAT 2024
2
+ gradle.version=8.9
File without changes
@@ -126,8 +126,8 @@ repositories {
126
126
  dependencies {
127
127
  //noinspection GradleDynamicVersion
128
128
  implementation "com.facebook.react:react-native:+"
129
- implementation 'io.okhi.android:core:1.7.18'
130
- implementation 'io.okhi.android:okverify:1.9.45'
129
+ implementation 'io.okhi.android:core:1.7.23'
130
+ implementation 'io.okhi.android:okverify:1.9.48'
131
131
  // From node_modules
132
132
  }
133
133
 
@@ -16,6 +16,7 @@ import com.facebook.react.bridge.Promise;
16
16
  import com.facebook.react.bridge.ReactApplicationContext;
17
17
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
18
18
  import com.facebook.react.bridge.ReactMethod;
19
+ import com.facebook.react.bridge.ReadableArray;
19
20
  import com.facebook.react.bridge.ReadableMap;
20
21
  import com.facebook.react.bridge.WritableMap;
21
22
  import com.facebook.react.bridge.WritableNativeMap;
@@ -23,6 +24,8 @@ import com.facebook.react.module.annotations.ReactModule;
23
24
 
24
25
  import org.json.JSONObject;
25
26
 
27
+ import java.util.ArrayList;
28
+
26
29
  import io.okhi.android_core.OkHi;
27
30
  import io.okhi.android_core.interfaces.OkHiRequestHandler;
28
31
  import io.okhi.android_core.models.OkHiAppContext;
@@ -31,11 +34,12 @@ import io.okhi.android_core.models.OkHiException;
31
34
  import io.okhi.android_core.models.OkHiLocation;
32
35
  import io.okhi.android_core.models.OkHiPermissionService;
33
36
  import io.okhi.android_core.models.OkHiUser;
37
+ import io.okhi.android_core.models.OkHiVerificationType;
34
38
  import io.okhi.android_core.models.OkPreference;
35
39
  import io.okhi.android_okverify.OkVerify;
36
40
  import io.okhi.android_okverify.interfaces.OkVerifyCallback;
37
41
  import io.okhi.android_okverify.models.OkHiNotification;
38
- import io.okhi.android_okverify.models.OkVerifyPushNotificationService;
42
+ import io.okhi.android_okverify.models.StartVerificationService;
39
43
 
40
44
  @ReactModule(name = OkhiModule.NAME)
41
45
  public class OkhiModule extends ReactContextBaseJavaModule {
@@ -182,20 +186,30 @@ public class OkhiModule extends ReactContextBaseJavaModule {
182
186
  }
183
187
  }
184
188
 
189
+ private static ArrayList<String> processVerificationTypes(ReadableArray array) {
190
+ ArrayList<String> arrayList = new ArrayList<>();
191
+ for (int i = 0; i < array.size(); i++) {
192
+ arrayList.add(array.getString(i));
193
+ }
194
+ return arrayList;
195
+ }
196
+
185
197
  @ReactMethod
186
- public void startAddressVerification(String phoneNumber, String locationId, Float lat, Float lon, ReadableMap config, String fcmPushNotificationToken, Promise promise) {
198
+ public void startAddressVerification(String phoneNumber, String locationId, Float lat, Float lon, ReadableArray verificationTypes, Promise promise) {
187
199
  if (okVerify == null) {
188
200
  promise.reject("unauthorized", "failed to initialise okhi");
189
201
  return;
190
202
  }
191
- OkHiUser user = new OkHiUser.Builder(phoneNumber).withFcmPushNotificationToken(fcmPushNotificationToken).build();
192
- OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).build();
193
- Boolean withForeground = true;
194
- Dynamic foregroundConfig = getConfig(config, "withForeground");
195
- if(foregroundConfig != null) {
196
- withForeground = foregroundConfig.asBoolean();
203
+ OkHiUser user = new OkHiUser.Builder(phoneNumber).build();
204
+ String[] verificationTypesList = new String[verificationTypes.size()];
205
+ for (int i = 0; i < verificationTypes.size(); i++) {
206
+ verificationTypesList[i] = verificationTypes.getString(i);
207
+ }
208
+ if (verificationTypesList.length == 0) {
209
+ verificationTypesList = new String[]{OkHiVerificationType.digital.name()};
197
210
  }
198
- okVerify.start(user, location, withForeground, new OkVerifyCallback<String>() {
211
+ OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).setVerificationTypes(verificationTypesList).build();
212
+ okVerify.start(user, location, new OkVerifyCallback<String>() {
199
213
  @Override
200
214
  public void onSuccess(String result) {
201
215
  promise.resolve(result);
@@ -334,13 +348,13 @@ public class OkhiModule extends ReactContextBaseJavaModule {
334
348
 
335
349
  @ReactMethod
336
350
  public void onNewToken(String fcmPushNotificationToken, Promise promise) {
337
- OkVerifyPushNotificationService.onNewToken(fcmPushNotificationToken, getReactApplicationContext());
351
+ StartVerificationService.onNewToken(fcmPushNotificationToken, getReactApplicationContext());
338
352
  promise.resolve(true);
339
353
  }
340
354
 
341
355
  @ReactMethod
342
356
  public void onMessageReceived(Promise promise) {
343
- OkVerifyPushNotificationService.onMessageReceived(getReactApplicationContext());
357
+ StartVerificationService.onMessageReceived(getReactApplicationContext());
344
358
  promise.resolve(true);
345
359
  }
346
360
  }
package/ios/Okhi.m CHANGED
@@ -33,6 +33,9 @@ RCT_EXTERN_METHOD(initialize:(NSString *)configuration resolve:(RCTPromiseResolv
33
33
 
34
34
  RCT_EXTERN_METHOD(startAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId lat:(double)lat lon:(double)lon resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
35
35
 
36
+ RCT_EXTERN_METHOD(startAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId lat:(double)lat lon:(double)lon verificationTypes:(NSArray<NSString *> *)verificationTypes resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
37
+
38
+
36
39
  RCT_EXTERN_METHOD(stopAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
37
40
 
38
41
  RCT_EXTERN_METHOD(retriveLocationPermissionStatus: (RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
package/ios/Okhi.swift CHANGED
@@ -89,7 +89,21 @@ class Okhi: RCTEventEmitter {
89
89
  @objc func startAddressVerification(_ phoneNumber: String, locationId: String, lat: Double, lon: Double, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
90
90
  self.resolve = resolve
91
91
  self.reject = reject
92
- okVerify.startAddressVerification(phoneNumber: phoneNumber, locationId: locationId, lat: lat, lon: lon)
92
+ okVerify.startAddressVerification(phoneNumber: phoneNumber, locationId: locationId, lat: lat, lon: lon, verificationTypes: [.physical])
93
+ }
94
+
95
+ @objc func startAddressVerification(_ phoneNumber: String, locationId: String, lat: Double, lon: Double, verificationTypes: [String], resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
96
+ self.resolve = resolve
97
+ self.reject = reject
98
+ var enumVerificationTypes: [OkHiVerificationType] = []
99
+ for verificationType in verificationTypes {
100
+ if verificationType == OkHiVerificationType.physical.rawValue {
101
+ enumVerificationTypes.append(.physical)
102
+ } else if verificationType == OkHiVerificationType.digital.rawValue {
103
+ enumVerificationTypes.append(.digital)
104
+ }
105
+ }
106
+ okVerify.startAddressVerification(phoneNumber: phoneNumber, locationId: locationId, lat: lat, lon: lon, verificationTypes: enumVerificationTypes)
93
107
  }
94
108
 
95
109
  @objc func stopAddressVerification(_ phoneNumber: String, locationId: String, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.canStartAddressCreation = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  var _Helpers = require("../OkCore/Helpers");
11
-
12
9
  var _OkHiException = require("../OkCore/OkHiException");
13
-
14
10
  /**
15
11
  * Checks whether all necessary permissions and services are available in order to start the address creation process.
16
12
  * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.
@@ -23,12 +19,10 @@ const canStartAddressCreation = configuration => {
23
19
  const locationServicesStatus = await (0, _Helpers.isLocationServicesEnabled)();
24
20
  const googlePlayServices = _reactNative.Platform.OS === 'android' ? await (0, _Helpers.isGooglePlayServicesAvailable)() : true;
25
21
  const locationPerm = await (0, _Helpers.isLocationPermissionGranted)();
26
-
27
22
  if (!requestServices) {
28
23
  resolve(locationServicesStatus && googlePlayServices && locationPerm);
29
24
  return;
30
25
  }
31
-
32
26
  if (!locationServicesStatus && _reactNative.Platform.OS === 'ios') {
33
27
  reject(new _OkHiException.OkHiException({
34
28
  code: _OkHiException.OkHiException.SERVICE_UNAVAILABLE_CODE,
@@ -42,6 +36,5 @@ const canStartAddressCreation = configuration => {
42
36
  }
43
37
  });
44
38
  };
45
-
46
39
  exports.canStartAddressCreation = canStartAddressCreation;
47
40
  //# sourceMappingURL=Helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["canStartAddressCreation","configuration","Promise","resolve","reject","requestServices","locationServicesStatus","isLocationServicesEnabled","googlePlayServices","Platform","OS","isGooglePlayServicesAvailable","locationPerm","isLocationPermissionGranted","OkHiException","code","SERVICE_UNAVAILABLE_CODE","message","locationServicesRequestStatus","requestEnableLocationServices","gPlayServices","requestEnableGooglePlayServices","locationPermStatus","requestLocationPermission"],"sources":["Helpers.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport {\n isLocationServicesEnabled,\n isLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n requestEnableLocationServices,\n requestEnableGooglePlayServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { OkHiException } from '../OkCore/OkHiException';\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address creation process.\n * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.\n * @param {boolean} configuration.requestServices Flag that determines whether to request the services from the user.\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether or not all conditions are met to start the address creation process.\n */\nexport const canStartAddressCreation = (configuration?: {\n requestServices?: boolean;\n}): Promise<boolean> => {\n return new Promise(async (resolve, reject) => {\n const requestServices = configuration && configuration.requestServices;\n const locationServicesStatus = await isLocationServicesEnabled();\n const googlePlayServices =\n Platform.OS === 'android' ? await isGooglePlayServicesAvailable() : true;\n const locationPerm = await isLocationPermissionGranted();\n if (!requestServices) {\n resolve(locationServicesStatus && googlePlayServices && locationPerm);\n return;\n }\n if (!locationServicesStatus && Platform.OS === 'ios') {\n reject(\n new OkHiException({\n code: OkHiException.SERVICE_UNAVAILABLE_CODE,\n message: 'Location services is unavailable',\n })\n );\n } else {\n const locationServicesRequestStatus =\n Platform.OS === 'ios'\n ? true\n : ((await requestEnableLocationServices()) as boolean);\n const gPlayServices =\n Platform.OS === 'android'\n ? await requestEnableGooglePlayServices()\n : true;\n const locationPermStatus = await requestLocationPermission();\n resolve(\n locationServicesRequestStatus && gPlayServices && locationPermStatus\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAIC,aAAD,IAEf;EACtB,OAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;IAC5C,MAAMC,eAAe,GAAGJ,aAAa,IAAIA,aAAa,CAACI,eAAvD;IACA,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,kCAAA,GAArC;IACA,MAAMC,kBAAkB,GACtBC,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GAA4B,MAAM,IAAAC,sCAAA,GAAlC,GAAoE,IADtE;IAEA,MAAMC,YAAY,GAAG,MAAM,IAAAC,oCAAA,GAA3B;;IACA,IAAI,CAACR,eAAL,EAAsB;MACpBF,OAAO,CAACG,sBAAsB,IAAIE,kBAA1B,IAAgDI,YAAjD,CAAP;MACA;IACD;;IACD,IAAI,CAACN,sBAAD,IAA2BG,qBAAA,CAASC,EAAT,KAAgB,KAA/C,EAAsD;MACpDN,MAAM,CACJ,IAAIU,4BAAJ,CAAkB;QAChBC,IAAI,EAAED,4BAAA,CAAcE,wBADJ;QAEhBC,OAAO,EAAE;MAFO,CAAlB,CADI,CAAN;IAMD,CAPD,MAOO;MACL,MAAMC,6BAA6B,GACjCT,qBAAA,CAASC,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEM,MAAM,IAAAS,sCAAA,GAHd;MAIA,MAAMC,aAAa,GACjBX,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GACI,MAAM,IAAAW,wCAAA,GADV,GAEI,IAHN;MAIA,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,kCAAA,GAAjC;MACApB,OAAO,CACLe,6BAA6B,IAAIE,aAAjC,IAAkDE,kBAD7C,CAAP;IAGD;EACF,CA/BM,CAAP;AAgCD,CAnCM"}
1
+ {"version":3,"names":["_reactNative","require","_Helpers","_OkHiException","canStartAddressCreation","configuration","Promise","resolve","reject","requestServices","locationServicesStatus","isLocationServicesEnabled","googlePlayServices","Platform","OS","isGooglePlayServicesAvailable","locationPerm","isLocationPermissionGranted","OkHiException","code","SERVICE_UNAVAILABLE_CODE","message","locationServicesRequestStatus","requestEnableLocationServices","gPlayServices","requestEnableGooglePlayServices","locationPermStatus","requestLocationPermission","exports"],"sources":["Helpers.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport {\n isLocationServicesEnabled,\n isLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n requestEnableLocationServices,\n requestEnableGooglePlayServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { OkHiException } from '../OkCore/OkHiException';\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address creation process.\n * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.\n * @param {boolean} configuration.requestServices Flag that determines whether to request the services from the user.\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether or not all conditions are met to start the address creation process.\n */\nexport const canStartAddressCreation = (configuration?: {\n requestServices?: boolean;\n}): Promise<boolean> => {\n return new Promise(async (resolve, reject) => {\n const requestServices = configuration && configuration.requestServices;\n const locationServicesStatus = await isLocationServicesEnabled();\n const googlePlayServices =\n Platform.OS === 'android' ? await isGooglePlayServicesAvailable() : true;\n const locationPerm = await isLocationPermissionGranted();\n if (!requestServices) {\n resolve(locationServicesStatus && googlePlayServices && locationPerm);\n return;\n }\n if (!locationServicesStatus && Platform.OS === 'ios') {\n reject(\n new OkHiException({\n code: OkHiException.SERVICE_UNAVAILABLE_CODE,\n message: 'Location services is unavailable',\n })\n );\n } else {\n const locationServicesRequestStatus =\n Platform.OS === 'ios'\n ? true\n : ((await requestEnableLocationServices()) as boolean);\n const gPlayServices =\n Platform.OS === 'android'\n ? await requestEnableGooglePlayServices()\n : true;\n const locationPermStatus = await requestLocationPermission();\n resolve(\n locationServicesRequestStatus && gPlayServices && locationPermStatus\n );\n }\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAQA,IAAAE,cAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,uBAAuB,GAAIC,aAEvC,IAAuB;EACtB,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,eAAe,GAAGJ,aAAa,IAAIA,aAAa,CAACI,eAAe;IACtE,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,kCAAyB,EAAC,CAAC;IAChE,MAAMC,kBAAkB,GACtBC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,MAAM,IAAAC,sCAA6B,EAAC,CAAC,GAAG,IAAI;IAC1E,MAAMC,YAAY,GAAG,MAAM,IAAAC,oCAA2B,EAAC,CAAC;IACxD,IAAI,CAACR,eAAe,EAAE;MACpBF,OAAO,CAACG,sBAAsB,IAAIE,kBAAkB,IAAII,YAAY,CAAC;MACrE;IACF;IACA,IAAI,CAACN,sBAAsB,IAAIG,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACpDN,MAAM,CACJ,IAAIU,4BAAa,CAAC;QAChBC,IAAI,EAAED,4BAAa,CAACE,wBAAwB;QAC5CC,OAAO,EAAE;MACX,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACL,MAAMC,6BAA6B,GACjCT,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjB,IAAI,GACF,MAAM,IAAAS,sCAA6B,EAAC,CAAc;MAC1D,MAAMC,aAAa,GACjBX,qBAAQ,CAACC,EAAE,KAAK,SAAS,GACrB,MAAM,IAAAW,wCAA+B,EAAC,CAAC,GACvC,IAAI;MACV,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,kCAAyB,EAAC,CAAC;MAC5DpB,OAAO,CACLe,6BAA6B,IAAIE,aAAa,IAAIE,kBACpD,CAAC;IACH;EACF,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAxB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -4,31 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.OkHiLocationManager = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _reactNativeWebview = require("react-native-webview");
13
-
14
10
  var _Spinner = require("./Spinner");
15
-
16
11
  var _Util = require("./Util");
17
-
18
12
  var _OkHiException = require("../OkCore/OkHiException");
19
-
20
13
  var _OkHiAuth = require("../OkCore/OkHiAuth");
21
-
22
14
  var _OkVerify = require("../OkVerify");
23
-
24
15
  var _OkCore = require("../OkCore");
25
-
26
16
  var _OkHiNativeModule = require("../OkHiNativeModule");
27
-
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
19
  /**
33
20
  * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.
34
21
  */
@@ -39,7 +26,8 @@ const OkHiLocationManager = props => {
39
26
  const defaultStyle = {
40
27
  flex: 1
41
28
  };
42
- const style = props.style ? { ...props.style,
29
+ const style = props.style ? {
30
+ ...props.style,
43
31
  ...defaultStyle
44
32
  } : defaultStyle;
45
33
  const {
@@ -79,7 +67,6 @@ const OkHiLocationManager = props => {
79
67
  // TODO: handle faliure
80
68
  (0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
81
69
  setStartPaylaod(startPayload);
82
-
83
70
  if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
84
71
  _OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
85
72
  message: startMessage,
@@ -110,14 +97,12 @@ const OkHiLocationManager = props => {
110
97
  setReady(false);
111
98
  }
112
99
  }, [launch, config === null || config === void 0 ? void 0 : config.permissionsOnboarding]);
113
-
114
100
  const runWebViewCallback = value => {
115
101
  if (webViewRef.current) {
116
102
  const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === "function") { runOkHiLocationManagerCallback("${value}") } })()`;
117
103
  webViewRef.current.injectJavaScript(jsString);
118
104
  }
119
105
  };
120
-
121
106
  const handleAndroidRequestLocationPermission = async level => {
122
107
  if (level === 'whenInUse') {
123
108
  const whenInUseResult = await (0, _OkCore.requestLocationPermission)();
@@ -128,16 +113,13 @@ const OkHiLocationManager = props => {
128
113
  runWebViewCallback(result ? 'always' : 'blocked');
129
114
  }
130
115
  };
131
-
132
116
  const handleIOSRequestLocationPermission = async level => {
133
117
  const unknownError = new _OkHiException.OkHiException({
134
118
  code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
135
119
  message: 'Something went wrong while requesting permissions. Please try again later.'
136
120
  });
137
-
138
121
  try {
139
122
  const isServiceAvailable = await (0, _OkCore.isLocationServicesEnabled)();
140
-
141
123
  if (!isServiceAvailable) {
142
124
  (0, _OkCore.openAppSettings)();
143
125
  } else if (level === 'whenInUse') {
@@ -145,7 +127,6 @@ const OkHiLocationManager = props => {
145
127
  runWebViewCallback(result ? level : 'denied');
146
128
  } else if (level === 'always') {
147
129
  const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
148
-
149
130
  if (granted) {
150
131
  runWebViewCallback(level);
151
132
  } else {
@@ -156,23 +137,18 @@ const OkHiLocationManager = props => {
156
137
  onError(unknownError);
157
138
  }
158
139
  };
159
-
160
- const handleRequestLocationPermission = async _ref => {
161
- let {
162
- level
163
- } = _ref;
164
-
140
+ const handleRequestLocationPermission = async ({
141
+ level
142
+ }) => {
165
143
  if (_reactNative.Platform.OS === 'android') {
166
144
  handleAndroidRequestLocationPermission(level);
167
145
  } else if (_reactNative.Platform.OS === 'ios') {
168
146
  handleIOSRequestLocationPermission(level);
169
147
  }
170
148
  };
171
-
172
149
  const handleOpenAppSettings = async () => {
173
150
  try {
174
151
  const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
175
-
176
152
  if (granted) {
177
153
  runWebViewCallback('always');
178
154
  } else {
@@ -183,17 +159,13 @@ const OkHiLocationManager = props => {
183
159
  onError(err);
184
160
  }
185
161
  };
186
-
187
- const handleOnMessage = _ref2 => {
188
- let {
189
- nativeEvent: {
190
- data
191
- }
192
- } = _ref2;
193
-
162
+ const handleOnMessage = ({
163
+ nativeEvent: {
164
+ data
165
+ }
166
+ }) => {
194
167
  try {
195
168
  const response = JSON.parse(data);
196
-
197
169
  if (response.message === 'fatal_exit') {
198
170
  //TODO: figure out bad phone number code
199
171
  onError(new _OkHiException.OkHiException({
@@ -206,16 +178,18 @@ const OkHiLocationManager = props => {
206
178
  (0, _OkCore.openProtectedAppsSettings)();
207
179
  } else if (response.message === 'location_created' || response.message === 'location_selected' || response.message === 'location_updated') {
208
180
  setReady(false); // auto close
209
-
210
181
  onSuccess({
211
- user: { ...response.payload.user,
182
+ user: {
183
+ ...response.payload.user,
212
184
  fcmPushNotificationToken: user.fcmPushNotificationToken
213
185
  },
214
186
  location: (0, _Util.parseOkHiLocation)(response.payload.location),
215
- startVerification: function (config) {
216
- const createdUser = { ...this.user
187
+ startVerification: function () {
188
+ const createdUser = {
189
+ ...this.user
217
190
  };
218
- const location = { ...this.location
191
+ const location = {
192
+ ...this.location
219
193
  };
220
194
  return new Promise((resolve, reject) => {
221
195
  if (!location.id) {
@@ -224,7 +198,8 @@ const OkHiLocationManager = props => {
224
198
  message: 'Missing location id from response'
225
199
  }));
226
200
  } else {
227
- (0, _OkVerify.start)(createdUser.phone, location.id, location.lat, location.lon, config, createdUser.fcmPushNotificationToken).then(resolve).catch(reject);
201
+ const verificationTypes = Array.isArray(location.verificationTypes) ? location.verificationTypes : ['digital'];
202
+ (0, _OkVerify.start)(createdUser.phone, location.id, location.lat, location.lon, verificationTypes).then(resolve).catch(reject);
228
203
  }
229
204
  });
230
205
  }
@@ -236,40 +211,32 @@ const OkHiLocationManager = props => {
236
211
  }
237
212
  } catch (error) {
238
213
  let errorMessage = 'Something went wrong';
239
-
240
214
  if (error instanceof Error) {
241
215
  errorMessage = error.message;
242
216
  }
243
-
244
217
  onError(new _OkHiException.OkHiException({
245
218
  code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
246
219
  message: errorMessage
247
220
  }));
248
221
  }
249
222
  };
250
-
251
223
  const handleOnError = () => {
252
224
  onError(new _OkHiException.OkHiException({
253
225
  code: _OkHiException.OkHiException.NETWORK_ERROR_CODE,
254
226
  message: _OkHiException.OkHiException.NETWORK_ERROR_MESSAGE
255
227
  }));
256
228
  };
257
-
258
229
  const handleModalRequestClose = () => {
259
230
  var _webViewRef$current;
260
-
261
- (_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 ? void 0 : _webViewRef$current.goBack();
231
+ (_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 || _webViewRef$current.goBack();
262
232
  };
263
-
264
233
  const renderContent = () => {
265
234
  if (token === null || applicationConfiguration == null) {
266
235
  return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
267
236
  }
268
-
269
237
  if (startPayload === null) {
270
238
  return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
271
239
  }
272
-
273
240
  const {
274
241
  jsAfterLoad,
275
242
  jsBeforeLoad
@@ -293,7 +260,6 @@ const OkHiLocationManager = props => {
293
260
  ref: webViewRef
294
261
  }));
295
262
  };
296
-
297
263
  return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
298
264
  animationType: "slide",
299
265
  transparent: false,
@@ -301,8 +267,6 @@ const OkHiLocationManager = props => {
301
267
  onRequestClose: handleModalRequestClose
302
268
  }, ready ? renderContent() : null);
303
269
  };
304
-
305
270
  exports.OkHiLocationManager = OkHiLocationManager;
306
- var _default = OkHiLocationManager;
307
- exports.default = _default;
271
+ var _default = exports.default = OkHiLocationManager;
308
272
  //# sourceMappingURL=OkHiLocationManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","goBack","renderContent","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","uri","undefined"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","verificationTypes","Array","isArray","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n VerificationType,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function () {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n const verificationTypes: VerificationType = Array.isArray(\n location.verificationTypes\n )\n ? location.verificationTypes\n : ['digital'];\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n verificationTypes\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Spinner = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
10
  /**
15
11
  * Default spinner component that'll be used as the initial loading indicator.
16
12
  */
@@ -27,6 +23,5 @@ const Spinner = () => {
27
23
  size: "small"
28
24
  }));
29
25
  };
30
-
31
26
  exports.Spinner = Spinner;
32
27
  //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Spinner","style","flex","alignItems","justifyContent"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View, ViewStyle } from 'react-native';\n\n/**\n * Default spinner component that'll be used as the initial loading indicator.\n */\nexport const Spinner = () => {\n const style: ViewStyle = {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n };\n return (\n <View style={style}>\n <ActivityIndicator color=\"teal\" size=\"small\" />\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AACA;AACA;AACO,MAAMA,OAAO,GAAG,MAAM;EAC3B,MAAMC,KAAgB,GAAG;IACvBC,IAAI,EAAE,CADiB;IAEvBC,UAAU,EAAE,QAFW;IAGvBC,cAAc,EAAE;EAHO,CAAzB;EAKA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEH;EAAb,gBACE,6BAAC,8BAAD;IAAmB,KAAK,EAAC,MAAzB;IAAgC,IAAI,EAAC;EAArC,EADF,CADF;AAKD,CAXM"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","Spinner","style","flex","alignItems","justifyContent","createElement","View","ActivityIndicator","color","size","exports"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View, ViewStyle } from 'react-native';\n\n/**\n * Default spinner component that'll be used as the initial loading indicator.\n */\nexport const Spinner = () => {\n const style: ViewStyle = {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n };\n return (\n <View style={style}>\n <ActivityIndicator color=\"teal\" size=\"small\" />\n </View>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAkE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElE;AACA;AACA;AACO,MAAMG,OAAO,GAAGA,CAAA,KAAM;EAC3B,MAAMC,KAAgB,GAAG;IACvBC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACD,oBACEX,MAAA,CAAAM,OAAA,CAAAM,aAAA,CAACT,YAAA,CAAAU,IAAI;IAACL,KAAK,EAAEA;EAAM,gBACjBR,MAAA,CAAAM,OAAA,CAAAM,aAAA,CAACT,YAAA,CAAAW,iBAAiB;IAACC,KAAK,EAAC,MAAM;IAACC,IAAI,EAAC;EAAO,CAAE,CAC1C,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAV,OAAA,GAAAA,OAAA","ignoreList":[]}