react-native-okhi 1.0.8 → 1.0.12

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 (36) hide show
  1. package/android/.DS_Store +0 -0
  2. package/android/.project +1 -1
  3. package/android/build.gradle +2 -2
  4. package/android/src/main/java/com/reactnativeokhi/OkhiModule.java +18 -14
  5. package/lib/commonjs/OkCollect/OkHiLocationManager.js +7 -5
  6. package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
  7. package/lib/commonjs/OkCollect/Util.js +1 -1
  8. package/lib/commonjs/OkCollect/app.json +1 -1
  9. package/lib/commonjs/OkCollect/index.js +4 -4
  10. package/lib/commonjs/OkCore/Helpers.js +1 -1
  11. package/lib/commonjs/OkCore/_helpers.js +3 -2
  12. package/lib/commonjs/OkCore/_helpers.js.map +1 -1
  13. package/lib/commonjs/OkCore/index.js +1 -1
  14. package/lib/commonjs/OkVerify/index.js +1 -3
  15. package/lib/commonjs/OkVerify/index.js.map +1 -1
  16. package/lib/module/OkCollect/OkHiLocationManager.js +7 -5
  17. package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
  18. package/lib/module/OkCollect/app.json +1 -1
  19. package/lib/module/OkCore/_helpers.js +2 -1
  20. package/lib/module/OkCore/_helpers.js.map +1 -1
  21. package/lib/module/OkVerify/index.js +0 -2
  22. package/lib/module/OkVerify/index.js.map +1 -1
  23. package/package.json +1 -1
  24. package/react-native-okhi.podspec +1 -1
  25. package/src/OkCollect/app.json +1 -1
  26. package/src/OkCore/_helpers.ts +2 -1
  27. package/src/OkVerify/index.ts +0 -1
  28. package/android/.gradle/6.6.1/executionHistory/executionHistory.lock +0 -0
  29. package/android/.gradle/6.6.1/fileChanges/last-build.bin +0 -0
  30. package/android/.gradle/6.6.1/fileHashes/fileHashes.lock +0 -0
  31. package/android/.gradle/6.6.1/gc.properties +0 -0
  32. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  33. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  34. package/android/.gradle/checksums/checksums.lock +0 -0
  35. package/android/.gradle/configuration-cache/gc.properties +0 -0
  36. package/android/.gradle/vcs-1/gc.properties +0 -0
package/android/.DS_Store CHANGED
Binary file
package/android/.project CHANGED
@@ -22,7 +22,7 @@
22
22
  </natures>
23
23
  <filteredResources>
24
24
  <filter>
25
- <id>1633420332568</id>
25
+ <id>0</id>
26
26
  <name></name>
27
27
  <type>30</type>
28
28
  <matcher>
@@ -57,6 +57,6 @@ repositories {
57
57
  dependencies {
58
58
  //noinspection GradleDynamicVersion
59
59
  implementation "com.facebook.react:react-native:+" // From node_modules
60
- implementation 'com.github.okhi:android-core:v1.3.4'
61
- implementation 'com.github.okhi:android-okverify:v1.4.4'
60
+ implementation 'com.github.okhi:android-core:v1.3.7'
61
+ implementation 'com.github.okhi:android-okverify:v1.4.6'
62
62
  }
@@ -161,20 +161,24 @@ public class OkhiModule extends ReactContextBaseJavaModule {
161
161
  String developer = config.getJSONObject("context").optString("developer", "external");
162
162
  OkHiAppContext context = new OkHiAppContext(getReactApplicationContext(), mode, "react-native", developer);
163
163
  auth = new OkHiAuth(getReactApplicationContext(), branchId, clientKey, context);
164
- okVerify = new OkVerify.Builder(getCurrentActivity(), auth).build();
165
- if (config.has("notification")) {
166
- JSONObject notificationConfig = config.getJSONObject("notification");
167
- int importance = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? NotificationManager.IMPORTANCE_DEFAULT : 3;
168
- OkVerify.init(getReactApplicationContext(), new OkHiNotification(
169
- notificationConfig.optString("title", "Verification in progress"),
170
- notificationConfig.optString("text", "Address Verification in progress"),
171
- notificationConfig.optString("channelId", "okhi"),
172
- notificationConfig.optString("channelName", "OkHi Channel"),
173
- notificationConfig.optString("channelDescription", "OkHi verification alerts"),
174
- importance
175
- ));
164
+ if (getCurrentActivity() != null && getCurrentActivity().getApplicationContext() != null) {
165
+ okVerify = new OkVerify.Builder(getCurrentActivity(), auth).build();
166
+ if (config.has("notification")) {
167
+ JSONObject notificationConfig = config.getJSONObject("notification");
168
+ int importance = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ? NotificationManager.IMPORTANCE_DEFAULT : 3;
169
+ OkVerify.init(getReactApplicationContext(), new OkHiNotification(
170
+ notificationConfig.optString("title", "Verification in progress"),
171
+ notificationConfig.optString("text", "Address Verification in progress"),
172
+ notificationConfig.optString("channelId", "okhi"),
173
+ notificationConfig.optString("channelName", "OkHi Channel"),
174
+ notificationConfig.optString("channelDescription", "OkHi verification alerts"),
175
+ importance
176
+ ));
177
+ }
178
+ promise.resolve(true);
179
+ } else {
180
+ promise.resolve(false);
176
181
  }
177
- promise.resolve(true);
178
182
  } catch (Exception e) {
179
183
  e.printStackTrace();
180
184
  promise.reject("unauthorized", "unable to parse credentials", e);
@@ -184,7 +188,7 @@ public class OkhiModule extends ReactContextBaseJavaModule {
184
188
  @ReactMethod
185
189
  public void startAddressVerification(String phoneNumber, String locationId, Float lat, Float lon, ReadableMap config, Promise promise) {
186
190
  if (okVerify == null) {
187
- promise.reject("unauthorized", "failed to initialise okhi with credentials");
191
+ promise.reject("unauthorized", "failed to initialise okhi");
188
192
  return;
189
193
  }
190
194
  OkHiUser user = new OkHiUser.Builder(phoneNumber).build();
@@ -55,11 +55,13 @@ const OkHiLocationManager = props => {
55
55
  }
56
56
  }, [onError, user.phone]);
57
57
 
58
- const handleOnMessage = ({
59
- nativeEvent: {
60
- data
61
- }
62
- }) => {
58
+ const handleOnMessage = _ref => {
59
+ let {
60
+ nativeEvent: {
61
+ data
62
+ }
63
+ } = _ref;
64
+
63
65
  try {
64
66
  const response = JSON.parse(data);
65
67
 
@@ -1 +1 @@
1
- {"version":3,"sources":["OkHiLocationManager.tsx"],"names":["OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","auth","OkHiAuth","anonymousSignInWithPhoneNumber","then","catch","handleOnMessage","nativeEvent","data","response","JSON","parse","message","OkHiException","code","UNKNOWN_ERROR_CODE","payload","toString","location","startVerification","config","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","error","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","uri","Platform","OS","undefined"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } 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} 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 { getApplicationConfiguration } from '../OkCore';\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 defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n\n useEffect(() => {\n if (user.phone) {\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['address'])\n .then(setToken)\n .catch(onError);\n getApplicationConfiguration()\n .then(setApplicationConfiguration)\n .catch(onError);\n }\n }, [onError, user.phone]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\n payload: generateStartDataPayload(props, token, applicationConfiguration),\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"]}
1
+ {"version":3,"sources":["OkHiLocationManager.tsx"],"names":["OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","auth","OkHiAuth","anonymousSignInWithPhoneNumber","then","catch","handleOnMessage","nativeEvent","data","response","JSON","parse","message","OkHiException","code","UNKNOWN_ERROR_CODE","payload","toString","location","startVerification","config","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","error","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","uri","Platform","OS","undefined"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } 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} 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 { getApplicationConfiguration } from '../OkCore';\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 defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n\n useEffect(() => {\n if (user.phone) {\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['address'])\n .then(setToken)\n .catch(onError);\n getApplicationConfiguration()\n .then(setApplicationConfiguration)\n .catch(onError);\n }\n }, [onError, user.phone]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\n payload: generateStartDataPayload(props, token, applicationConfiguration),\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.parseOkHiLocation = exports.generateJavaScriptStartScript = exports.getFrameUrl = exports.generateStartDataPayload = void 0;
6
+ exports.parseOkHiLocation = exports.getFrameUrl = exports.generateStartDataPayload = exports.generateJavaScriptStartScript = void 0;
7
7
 
8
8
  var _OkCore = require("../OkCore");
9
9
 
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.0.8"
3
+ "version": "1.0.12"
4
4
  }
@@ -7,16 +7,16 @@ var _exportNames = {
7
7
  OkHiLocationManagerProps: true,
8
8
  OkCollectSuccessResponse: true
9
9
  };
10
- Object.defineProperty(exports, "OkHiLocationManagerProps", {
10
+ Object.defineProperty(exports, "OkCollectSuccessResponse", {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _types.OkHiLocationManagerProps;
13
+ return _types.OkCollectSuccessResponse;
14
14
  }
15
15
  });
16
- Object.defineProperty(exports, "OkCollectSuccessResponse", {
16
+ Object.defineProperty(exports, "OkHiLocationManagerProps", {
17
17
  enumerable: true,
18
18
  get: function () {
19
- return _types.OkCollectSuccessResponse;
19
+ return _types.OkHiLocationManagerProps;
20
20
  }
21
21
  });
22
22
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getSystemVersion = exports.requestEnableGooglePlayServices = exports.isGooglePlayServicesAvailable = exports.requestEnableLocationServices = exports.requestBackgroundLocationPermission = exports.requestLocationPermission = exports.isBackgroundLocationPermissionGranted = exports.isLocationPermissionGranted = exports.isLocationServicesEnabled = void 0;
6
+ exports.requestLocationPermission = exports.requestEnableLocationServices = exports.requestEnableGooglePlayServices = exports.requestBackgroundLocationPermission = exports.isLocationServicesEnabled = exports.isLocationPermissionGranted = exports.isGooglePlayServicesAvailable = exports.isBackgroundLocationPermissionGranted = exports.getSystemVersion = void 0;
7
7
 
8
8
  var _OkHiNativeModule = require("../OkHiNativeModule");
9
9
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isValidPlatform = isValidPlatform;
7
6
  exports.errorHandler = errorHandler;
7
+ exports.isValidPlatform = isValidPlatform;
8
8
 
9
9
  var _reactNative = require("react-native");
10
10
 
@@ -13,10 +13,11 @@ var _OkHiException = require("./OkHiException");
13
13
  const SUPPORTED_PLATFORMS = ['ios', 'android'];
14
14
 
15
15
  function isValidPlatform(fn, platform) {
16
+ const callingFunc = arguments.callee.caller.name;
16
17
  return new Promise((resolve, reject) => {
17
18
  const error = new _OkHiException.OkHiException({
18
19
  code: _OkHiException.OkHiException.UNSUPPORTED_PLATFORM_CODE,
19
- message: _OkHiException.OkHiException.UNSUPPORTED_PLATFORM_MESSAGE
20
+ message: callingFunc + ' is not supported in the current platform'
20
21
  });
21
22
 
22
23
  if (platform && _reactNative.Platform.OS !== platform) {
@@ -1 +1 @@
1
- {"version":3,"sources":["_helpers.ts"],"names":["SUPPORTED_PLATFORMS","isValidPlatform","fn","platform","Promise","resolve","reject","error","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNSUPPORTED_PLATFORM_MESSAGE","Platform","OS","includes","then","catch","UNKNOWN_ERROR_CODE","UNKNOWN_ERROR_MESSAGE","errorHandler"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA,MAAMA,mBAAmB,GAAG,CAAC,KAAD,EAAQ,SAAR,CAA5B;;AAEO,SAASC,eAAT,CACLC,EADK,EAELC,QAFK,EAGL;AACA,SAAO,IAAIC,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzC,UAAMC,KAAK,GAAG,IAAIC,4BAAJ,CAAkB;AAC9BC,MAAAA,IAAI,EAAED,6BAAcE,yBADU;AAE9BC,MAAAA,OAAO,EAAEH,6BAAcI;AAFO,KAAlB,CAAd;;AAIA,QAAIT,QAAQ,IAAIU,sBAASC,EAAT,KAAgBX,QAAhC,EAA0C;AACxCG,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFD,MAEO,IAAI,CAACP,mBAAmB,CAACe,QAApB,CAA6BF,sBAASC,EAAtC,CAAL,EAAgD;AACrDR,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFM,MAEA;AACLL,MAAAA,EAAE,GACCc,IADH,CACQX,OADR,EAEGY,KAFH,CAEUV,KAAD,IAAW;AAChBD,QAAAA,MAAM,CACJ,IAAIE,4BAAJ,CAAkB;AAChBC,UAAAA,IAAI,EAAEF,KAAK,CAACE,IAAN,IAAcD,6BAAcU,kBADlB;AAEhBP,UAAAA,OAAO,EAAEJ,KAAK,CAACI,OAAN,IAAiBH,6BAAcW;AAFxB,SAAlB,CADI,CAAN;AAMD,OATH;AAUD;AACF,GArBM,CAAP;AAsBD;;AAEM,SAASC,YAAT,CAAyBlB,EAAzB,EAA+C;AACpD,SAAO,IAAIE,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzCJ,IAAAA,EAAE,GACCc,IADH,CACQX,OADR,EAEGY,KAFH,CAEUV,KAAD,IAAW;AAChBD,MAAAA,MAAM,CACJ,IAAIE,4BAAJ,CAAkB;AAChBC,QAAAA,IAAI,EAAEF,KAAK,CAACE,IAAN,IAAcD,6BAAcU,kBADlB;AAEhBP,QAAAA,OAAO,EAAEJ,KAAK,CAACI,OAAN,IAAiBH,6BAAcW;AAFxB,OAAlB,CADI,CAAN;AAMD,KATH;AAUD,GAXM,CAAP;AAYD","sourcesContent":["import { Platform, PlatformOSType } from 'react-native';\nimport { OkHiException } from './OkHiException';\n\nconst SUPPORTED_PLATFORMS = ['ios', 'android'];\n\nexport function isValidPlatform<T>(\n fn: () => Promise<T>,\n platform?: PlatformOSType\n) {\n return new Promise<T>((resolve, reject) => {\n const error = new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNSUPPORTED_PLATFORM_MESSAGE,\n });\n if (platform && Platform.OS !== platform) {\n reject(error);\n } else if (!SUPPORTED_PLATFORMS.includes(Platform.OS)) {\n reject(error);\n } else {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n }\n });\n}\n\nexport function errorHandler<T>(fn: () => Promise<T>) {\n return new Promise<T>((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n });\n}\n"]}
1
+ {"version":3,"sources":["_helpers.ts"],"names":["SUPPORTED_PLATFORMS","isValidPlatform","fn","platform","callingFunc","arguments","callee","caller","name","Promise","resolve","reject","error","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","Platform","OS","includes","then","catch","UNKNOWN_ERROR_CODE","UNKNOWN_ERROR_MESSAGE","errorHandler"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA,MAAMA,mBAAmB,GAAG,CAAC,KAAD,EAAQ,SAAR,CAA5B;;AAEO,SAASC,eAAT,CACLC,EADK,EAELC,QAFK,EAGL;AACA,QAAMC,WAAW,GAAGC,SAAS,CAACC,MAAV,CAAiBC,MAAjB,CAAwBC,IAA5C;AACA,SAAO,IAAIC,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzC,UAAMC,KAAK,GAAG,IAAIC,4BAAJ,CAAkB;AAC9BC,MAAAA,IAAI,EAAED,6BAAcE,yBADU;AAE9BC,MAAAA,OAAO,EAAEZ,WAAW,GAAG;AAFO,KAAlB,CAAd;;AAIA,QAAID,QAAQ,IAAIc,sBAASC,EAAT,KAAgBf,QAAhC,EAA0C;AACxCQ,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFD,MAEO,IAAI,CAACZ,mBAAmB,CAACmB,QAApB,CAA6BF,sBAASC,EAAtC,CAAL,EAAgD;AACrDP,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFM,MAEA;AACLV,MAAAA,EAAE,GACCkB,IADH,CACQV,OADR,EAEGW,KAFH,CAEUT,KAAD,IAAW;AAChBD,QAAAA,MAAM,CACJ,IAAIE,4BAAJ,CAAkB;AAChBC,UAAAA,IAAI,EAAEF,KAAK,CAACE,IAAN,IAAcD,6BAAcS,kBADlB;AAEhBN,UAAAA,OAAO,EAAEJ,KAAK,CAACI,OAAN,IAAiBH,6BAAcU;AAFxB,SAAlB,CADI,CAAN;AAMD,OATH;AAUD;AACF,GArBM,CAAP;AAsBD;;AAEM,SAASC,YAAT,CAAyBtB,EAAzB,EAA+C;AACpD,SAAO,IAAIO,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzCT,IAAAA,EAAE,GACCkB,IADH,CACQV,OADR,EAEGW,KAFH,CAEUT,KAAD,IAAW;AAChBD,MAAAA,MAAM,CACJ,IAAIE,4BAAJ,CAAkB;AAChBC,QAAAA,IAAI,EAAEF,KAAK,CAACE,IAAN,IAAcD,6BAAcS,kBADlB;AAEhBN,QAAAA,OAAO,EAAEJ,KAAK,CAACI,OAAN,IAAiBH,6BAAcU;AAFxB,OAAlB,CADI,CAAN;AAMD,KATH;AAUD,GAXM,CAAP;AAYD","sourcesContent":["import { Platform, PlatformOSType } from 'react-native';\nimport { OkHiException } from './OkHiException';\n\nconst SUPPORTED_PLATFORMS = ['ios', 'android'];\n\nexport function isValidPlatform<T>(\n fn: () => Promise<T>,\n platform?: PlatformOSType\n) {\n const callingFunc = arguments.callee.caller.name;\n return new Promise<T>((resolve, reject) => {\n const error = new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: callingFunc + ' is not supported in the current platform',\n });\n if (platform && Platform.OS !== platform) {\n reject(error);\n } else if (!SUPPORTED_PLATFORMS.includes(Platform.OS)) {\n reject(error);\n } else {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n }\n });\n}\n\nexport function errorHandler<T>(fn: () => Promise<T>) {\n return new Promise<T>((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n });\n}\n"]}
@@ -7,8 +7,8 @@ var _exportNames = {
7
7
  initialize: true,
8
8
  getApplicationConfiguration: true
9
9
  };
10
- exports.initialize = initialize;
11
10
  exports.getApplicationConfiguration = getApplicationConfiguration;
11
+ exports.initialize = initialize;
12
12
 
13
13
  var _OkHiNativeModule = require("../OkHiNativeModule");
14
14
 
@@ -12,7 +12,7 @@ var _exportNames = {
12
12
  isForegroundServiceRunning: true,
13
13
  canStartVerification: true
14
14
  };
15
- exports.canStartVerification = exports.isForegroundServiceRunning = exports.stopForegroundService = exports.startForegroundService = exports.stopVerification = exports.startVerification = exports.start = void 0;
15
+ exports.stopVerification = exports.stopForegroundService = exports.startVerification = exports.startForegroundService = exports.start = exports.isForegroundServiceRunning = exports.canStartVerification = void 0;
16
16
 
17
17
  var _reactNative = require("react-native");
18
18
 
@@ -163,8 +163,6 @@ const canStartVerification = configuration => {
163
163
  return;
164
164
  }
165
165
 
166
- console.log('here..', requestServices);
167
-
168
166
  if (!locationServicesStatus && _reactNative.Platform.OS === 'ios') {
169
167
  reject(new _OkHiException.OkHiException({
170
168
  code: _OkHiException.OkHiException.SERVICE_UNAVAILABLE_CODE,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["start","phoneNumber","locationId","lat","lon","configuration","Platform","OS","OkHiNativeModule","startAddressVerification","startVerification","response","Promise","resolve","reject","location","user","id","result","phone","OkHiException","code","BAD_REQUEST_CODE","message","stopVerification","stopAddressVerification","startForegroundService","stopForegroundService","isForegroundServiceRunning","canStartVerification","requestServices","locationServicesStatus","googlePlayServices","backgroundLocationPerm","console","log","SERVICE_UNAVAILABLE_CODE","locationServicesRequestStatus","gPlayServices","perm"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport {\n isBackgroundLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n isLocationServicesEnabled,\n requestBackgroundLocationPermission,\n requestEnableGooglePlayServices,\n requestEnableLocationServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { errorHandler, isValidPlatform } from '../OkCore/_helpers';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\nimport type { OkVerifyStartConfiguration } from './types';\nimport type { OkCollectSuccessResponse } from '../OkCollect/types';\nimport { OkHiException } from '../OkCore/OkHiException';\nexport * from './types';\n/**\n * Starts verification for a particular address\n * @param {string} phoneNumber A users phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @param {number} lat The latitude of the created address\n * @param {number} lon The longitude of the created address\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification, default is true\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const start = (\n phoneNumber: string,\n locationId: string,\n lat: number,\n lon: number,\n configuration?: OkVerifyStartConfiguration\n) => {\n return isValidPlatform(() => {\n if (Platform.OS === 'android') {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon,\n configuration\n );\n } else {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon\n );\n }\n });\n};\n\n/**\n * Starts verification for a particular address using the response object returned by OkCollect\n * @param {Object} response Response returned by OkCollect\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const startVerification = async (\n response: OkCollectSuccessResponse,\n configuration?: OkVerifyStartConfiguration\n) => {\n return new Promise((resolve, reject) => {\n const { location, user } = response;\n if (location.id) {\n if (Platform.OS === 'android') {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon,\n configuration\n );\n resolve(result);\n } else {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon\n );\n resolve(result);\n }\n } else {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n }\n });\n};\n\n/**\n * Stops verification for a particular address using a user's phonenumber and OkHi location identifier\n * @param {string} phoneNumber The user's phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const stopVerification = (phoneNumber: string, locationId: string) => {\n return isValidPlatform(() =>\n OkHiNativeModule.stopAddressVerification(phoneNumber, locationId)\n );\n};\n\n/**\n * Android Only - Starts a foreground service that speeds up rate of verification\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has started successfully\n */\nexport const startForegroundService = () => {\n return isValidPlatform(\n () => errorHandler(OkHiNativeModule.startForegroundService),\n 'android'\n );\n};\n\n/**\n * Android Only - Stops previously started foreground services\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has stopped successfully\n */\nexport const stopForegroundService = () => {\n return isValidPlatform(OkHiNativeModule.stopForegroundService, 'android');\n};\n\n/**\n * Android Only - Checks if the foreground service is running\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service is running\n */\nexport const isForegroundServiceRunning = () => {\n return isValidPlatform(\n OkHiNativeModule.isForegroundServiceRunning,\n 'android'\n );\n};\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address verification 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 verification process\n */\nexport const canStartVerification = (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 backgroundLocationPerm =\n await isBackgroundLocationPermissionGranted();\n if (!requestServices) {\n resolve(\n locationServicesStatus && googlePlayServices && backgroundLocationPerm\n );\n return;\n }\n console.log('here..', requestServices);\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 === 'ios' ? true : await requestEnableGooglePlayServices();\n let perm = false;\n if (Platform.OS === 'ios') {\n perm = await requestBackgroundLocationPermission();\n } else {\n perm =\n (await requestLocationPermission()) &&\n (await requestBackgroundLocationPermission());\n }\n resolve(locationServicesRequestStatus && gPlayServices && perm);\n }\n });\n};\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["start","phoneNumber","locationId","lat","lon","configuration","Platform","OS","OkHiNativeModule","startAddressVerification","startVerification","response","Promise","resolve","reject","location","user","id","result","phone","OkHiException","code","BAD_REQUEST_CODE","message","stopVerification","stopAddressVerification","startForegroundService","stopForegroundService","isForegroundServiceRunning","canStartVerification","requestServices","locationServicesStatus","googlePlayServices","backgroundLocationPerm","SERVICE_UNAVAILABLE_CODE","locationServicesRequestStatus","gPlayServices","perm"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport {\n isBackgroundLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n isLocationServicesEnabled,\n requestBackgroundLocationPermission,\n requestEnableGooglePlayServices,\n requestEnableLocationServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { errorHandler, isValidPlatform } from '../OkCore/_helpers';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\nimport type { OkVerifyStartConfiguration } from './types';\nimport type { OkCollectSuccessResponse } from '../OkCollect/types';\nimport { OkHiException } from '../OkCore/OkHiException';\nexport * from './types';\n/**\n * Starts verification for a particular address\n * @param {string} phoneNumber A users phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @param {number} lat The latitude of the created address\n * @param {number} lon The longitude of the created address\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification, default is true\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const start = (\n phoneNumber: string,\n locationId: string,\n lat: number,\n lon: number,\n configuration?: OkVerifyStartConfiguration\n) => {\n return isValidPlatform(() => {\n if (Platform.OS === 'android') {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon,\n configuration\n );\n } else {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon\n );\n }\n });\n};\n\n/**\n * Starts verification for a particular address using the response object returned by OkCollect\n * @param {Object} response Response returned by OkCollect\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const startVerification = async (\n response: OkCollectSuccessResponse,\n configuration?: OkVerifyStartConfiguration\n) => {\n return new Promise((resolve, reject) => {\n const { location, user } = response;\n if (location.id) {\n if (Platform.OS === 'android') {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon,\n configuration\n );\n resolve(result);\n } else {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon\n );\n resolve(result);\n }\n } else {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n }\n });\n};\n\n/**\n * Stops verification for a particular address using a user's phonenumber and OkHi location identifier\n * @param {string} phoneNumber The user's phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const stopVerification = (phoneNumber: string, locationId: string) => {\n return isValidPlatform(() =>\n OkHiNativeModule.stopAddressVerification(phoneNumber, locationId)\n );\n};\n\n/**\n * Android Only - Starts a foreground service that speeds up rate of verification\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has started successfully\n */\nexport const startForegroundService = () => {\n return isValidPlatform(\n () => errorHandler(OkHiNativeModule.startForegroundService),\n 'android'\n );\n};\n\n/**\n * Android Only - Stops previously started foreground services\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has stopped successfully\n */\nexport const stopForegroundService = () => {\n return isValidPlatform(OkHiNativeModule.stopForegroundService, 'android');\n};\n\n/**\n * Android Only - Checks if the foreground service is running\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service is running\n */\nexport const isForegroundServiceRunning = () => {\n return isValidPlatform(\n OkHiNativeModule.isForegroundServiceRunning,\n 'android'\n );\n};\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address verification 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 verification process\n */\nexport const canStartVerification = (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 backgroundLocationPerm =\n await isBackgroundLocationPermissionGranted();\n if (!requestServices) {\n resolve(\n locationServicesStatus && googlePlayServices && backgroundLocationPerm\n );\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 === 'ios' ? true : await requestEnableGooglePlayServices();\n let perm = false;\n if (Platform.OS === 'ios') {\n perm = await requestBackgroundLocationPermission();\n } else {\n perm =\n (await requestLocationPermission()) &&\n (await requestBackgroundLocationPermission());\n }\n resolve(locationServicesRequestStatus && gPlayServices && perm);\n }\n });\n};\n"]}
@@ -36,11 +36,13 @@ export const OkHiLocationManager = props => {
36
36
  }
37
37
  }, [onError, user.phone]);
38
38
 
39
- const handleOnMessage = ({
40
- nativeEvent: {
41
- data
42
- }
43
- }) => {
39
+ const handleOnMessage = _ref => {
40
+ let {
41
+ nativeEvent: {
42
+ data
43
+ }
44
+ } = _ref;
45
+
44
46
  try {
45
47
  const response = JSON.parse(data);
46
48
 
@@ -1 +1 @@
1
- {"version":3,"sources":["OkHiLocationManager.tsx"],"names":["React","useState","useEffect","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","auth","anonymousSignInWithPhoneNumber","then","catch","handleOnMessage","nativeEvent","data","response","JSON","parse","message","code","UNKNOWN_ERROR_CODE","payload","toString","location","startVerification","config","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","error","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","uri","OS","undefined"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } 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} 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 { getApplicationConfiguration } from '../OkCore';\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 defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n\n useEffect(() => {\n if (user.phone) {\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['address'])\n .then(setToken)\n .catch(onError);\n getApplicationConfiguration()\n .then(setApplicationConfiguration)\n .catch(onError);\n }\n }, [onError, user.phone]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\n payload: generateStartDataPayload(props, token, applicationConfiguration),\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"]}
1
+ {"version":3,"sources":["OkHiLocationManager.tsx"],"names":["React","useState","useEffect","Modal","SafeAreaView","Platform","WebView","Spinner","getFrameUrl","generateJavaScriptStartScript","generateStartDataPayload","parseOkHiLocation","OkHiException","OkHiAuth","start","sv","getApplicationConfiguration","OkHiLocationManager","props","token","setToken","applicationConfiguration","setApplicationConfiguration","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","phone","auth","anonymousSignInWithPhoneNumber","then","catch","handleOnMessage","nativeEvent","data","response","JSON","parse","message","code","UNKNOWN_ERROR_CODE","payload","toString","location","startVerification","config","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","lat","lon","error","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","renderContent","jsAfterLoad","jsBeforeLoad","uri","OS","undefined"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } 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} 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 { getApplicationConfiguration } from '../OkCore';\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 defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n\n useEffect(() => {\n if (user.phone) {\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['address'])\n .then(setToken)\n .catch(onError);\n getApplicationConfiguration()\n .then(setApplicationConfiguration)\n .catch(onError);\n }\n }, [onError, user.phone]);\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n if (response.message === 'fatal_exit') {\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload.toString(),\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else {\n onSuccess({\n ...response.payload,\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 )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\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 renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: 'select_location',\n payload: generateStartDataPayload(props, token, applicationConfiguration),\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 />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal animationType=\"slide\" transparent={false} visible={launch}>\n {launch ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"]}
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.0.8"
3
+ "version": "1.0.12"
4
4
  }
@@ -2,10 +2,11 @@ import { Platform } from 'react-native';
2
2
  import { OkHiException } from './OkHiException';
3
3
  const SUPPORTED_PLATFORMS = ['ios', 'android'];
4
4
  export function isValidPlatform(fn, platform) {
5
+ const callingFunc = arguments.callee.caller.name;
5
6
  return new Promise((resolve, reject) => {
6
7
  const error = new OkHiException({
7
8
  code: OkHiException.UNSUPPORTED_PLATFORM_CODE,
8
- message: OkHiException.UNSUPPORTED_PLATFORM_MESSAGE
9
+ message: callingFunc + ' is not supported in the current platform'
9
10
  });
10
11
 
11
12
  if (platform && Platform.OS !== platform) {
@@ -1 +1 @@
1
- {"version":3,"sources":["_helpers.ts"],"names":["Platform","OkHiException","SUPPORTED_PLATFORMS","isValidPlatform","fn","platform","Promise","resolve","reject","error","code","UNSUPPORTED_PLATFORM_CODE","message","UNSUPPORTED_PLATFORM_MESSAGE","OS","includes","then","catch","UNKNOWN_ERROR_CODE","UNKNOWN_ERROR_MESSAGE","errorHandler"],"mappings":"AAAA,SAASA,QAAT,QAAyC,cAAzC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,MAAMC,mBAAmB,GAAG,CAAC,KAAD,EAAQ,SAAR,CAA5B;AAEA,OAAO,SAASC,eAAT,CACLC,EADK,EAELC,QAFK,EAGL;AACA,SAAO,IAAIC,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzC,UAAMC,KAAK,GAAG,IAAIR,aAAJ,CAAkB;AAC9BS,MAAAA,IAAI,EAAET,aAAa,CAACU,yBADU;AAE9BC,MAAAA,OAAO,EAAEX,aAAa,CAACY;AAFO,KAAlB,CAAd;;AAIA,QAAIR,QAAQ,IAAIL,QAAQ,CAACc,EAAT,KAAgBT,QAAhC,EAA0C;AACxCG,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFD,MAEO,IAAI,CAACP,mBAAmB,CAACa,QAApB,CAA6Bf,QAAQ,CAACc,EAAtC,CAAL,EAAgD;AACrDN,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFM,MAEA;AACLL,MAAAA,EAAE,GACCY,IADH,CACQT,OADR,EAEGU,KAFH,CAEUR,KAAD,IAAW;AAChBD,QAAAA,MAAM,CACJ,IAAIP,aAAJ,CAAkB;AAChBS,UAAAA,IAAI,EAAED,KAAK,CAACC,IAAN,IAAcT,aAAa,CAACiB,kBADlB;AAEhBN,UAAAA,OAAO,EAAEH,KAAK,CAACG,OAAN,IAAiBX,aAAa,CAACkB;AAFxB,SAAlB,CADI,CAAN;AAMD,OATH;AAUD;AACF,GArBM,CAAP;AAsBD;AAED,OAAO,SAASC,YAAT,CAAyBhB,EAAzB,EAA+C;AACpD,SAAO,IAAIE,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzCJ,IAAAA,EAAE,GACCY,IADH,CACQT,OADR,EAEGU,KAFH,CAEUR,KAAD,IAAW;AAChBD,MAAAA,MAAM,CACJ,IAAIP,aAAJ,CAAkB;AAChBS,QAAAA,IAAI,EAAED,KAAK,CAACC,IAAN,IAAcT,aAAa,CAACiB,kBADlB;AAEhBN,QAAAA,OAAO,EAAEH,KAAK,CAACG,OAAN,IAAiBX,aAAa,CAACkB;AAFxB,OAAlB,CADI,CAAN;AAMD,KATH;AAUD,GAXM,CAAP;AAYD","sourcesContent":["import { Platform, PlatformOSType } from 'react-native';\nimport { OkHiException } from './OkHiException';\n\nconst SUPPORTED_PLATFORMS = ['ios', 'android'];\n\nexport function isValidPlatform<T>(\n fn: () => Promise<T>,\n platform?: PlatformOSType\n) {\n return new Promise<T>((resolve, reject) => {\n const error = new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNSUPPORTED_PLATFORM_MESSAGE,\n });\n if (platform && Platform.OS !== platform) {\n reject(error);\n } else if (!SUPPORTED_PLATFORMS.includes(Platform.OS)) {\n reject(error);\n } else {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n }\n });\n}\n\nexport function errorHandler<T>(fn: () => Promise<T>) {\n return new Promise<T>((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n });\n}\n"]}
1
+ {"version":3,"sources":["_helpers.ts"],"names":["Platform","OkHiException","SUPPORTED_PLATFORMS","isValidPlatform","fn","platform","callingFunc","arguments","callee","caller","name","Promise","resolve","reject","error","code","UNSUPPORTED_PLATFORM_CODE","message","OS","includes","then","catch","UNKNOWN_ERROR_CODE","UNKNOWN_ERROR_MESSAGE","errorHandler"],"mappings":"AAAA,SAASA,QAAT,QAAyC,cAAzC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,MAAMC,mBAAmB,GAAG,CAAC,KAAD,EAAQ,SAAR,CAA5B;AAEA,OAAO,SAASC,eAAT,CACLC,EADK,EAELC,QAFK,EAGL;AACA,QAAMC,WAAW,GAAGC,SAAS,CAACC,MAAV,CAAiBC,MAAjB,CAAwBC,IAA5C;AACA,SAAO,IAAIC,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzC,UAAMC,KAAK,GAAG,IAAIb,aAAJ,CAAkB;AAC9Bc,MAAAA,IAAI,EAAEd,aAAa,CAACe,yBADU;AAE9BC,MAAAA,OAAO,EAAEX,WAAW,GAAG;AAFO,KAAlB,CAAd;;AAIA,QAAID,QAAQ,IAAIL,QAAQ,CAACkB,EAAT,KAAgBb,QAAhC,EAA0C;AACxCQ,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFD,MAEO,IAAI,CAACZ,mBAAmB,CAACiB,QAApB,CAA6BnB,QAAQ,CAACkB,EAAtC,CAAL,EAAgD;AACrDL,MAAAA,MAAM,CAACC,KAAD,CAAN;AACD,KAFM,MAEA;AACLV,MAAAA,EAAE,GACCgB,IADH,CACQR,OADR,EAEGS,KAFH,CAEUP,KAAD,IAAW;AAChBD,QAAAA,MAAM,CACJ,IAAIZ,aAAJ,CAAkB;AAChBc,UAAAA,IAAI,EAAED,KAAK,CAACC,IAAN,IAAcd,aAAa,CAACqB,kBADlB;AAEhBL,UAAAA,OAAO,EAAEH,KAAK,CAACG,OAAN,IAAiBhB,aAAa,CAACsB;AAFxB,SAAlB,CADI,CAAN;AAMD,OATH;AAUD;AACF,GArBM,CAAP;AAsBD;AAED,OAAO,SAASC,YAAT,CAAyBpB,EAAzB,EAA+C;AACpD,SAAO,IAAIO,OAAJ,CAAe,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACzCT,IAAAA,EAAE,GACCgB,IADH,CACQR,OADR,EAEGS,KAFH,CAEUP,KAAD,IAAW;AAChBD,MAAAA,MAAM,CACJ,IAAIZ,aAAJ,CAAkB;AAChBc,QAAAA,IAAI,EAAED,KAAK,CAACC,IAAN,IAAcd,aAAa,CAACqB,kBADlB;AAEhBL,QAAAA,OAAO,EAAEH,KAAK,CAACG,OAAN,IAAiBhB,aAAa,CAACsB;AAFxB,OAAlB,CADI,CAAN;AAMD,KATH;AAUD,GAXM,CAAP;AAYD","sourcesContent":["import { Platform, PlatformOSType } from 'react-native';\nimport { OkHiException } from './OkHiException';\n\nconst SUPPORTED_PLATFORMS = ['ios', 'android'];\n\nexport function isValidPlatform<T>(\n fn: () => Promise<T>,\n platform?: PlatformOSType\n) {\n const callingFunc = arguments.callee.caller.name;\n return new Promise<T>((resolve, reject) => {\n const error = new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: callingFunc + ' is not supported in the current platform',\n });\n if (platform && Platform.OS !== platform) {\n reject(error);\n } else if (!SUPPORTED_PLATFORMS.includes(Platform.OS)) {\n reject(error);\n } else {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n }\n });\n}\n\nexport function errorHandler<T>(fn: () => Promise<T>) {\n return new Promise<T>((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n reject(\n new OkHiException({\n code: error.code || OkHiException.UNKNOWN_ERROR_CODE,\n message: error.message || OkHiException.UNKNOWN_ERROR_MESSAGE,\n })\n );\n });\n });\n}\n"]}
@@ -110,8 +110,6 @@ export const canStartVerification = configuration => {
110
110
  return;
111
111
  }
112
112
 
113
- console.log('here..', requestServices);
114
-
115
113
  if (!locationServicesStatus && Platform.OS === 'ios') {
116
114
  reject(new OkHiException({
117
115
  code: OkHiException.SERVICE_UNAVAILABLE_CODE,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["Platform","isBackgroundLocationPermissionGranted","isGooglePlayServicesAvailable","isLocationServicesEnabled","requestBackgroundLocationPermission","requestEnableGooglePlayServices","requestEnableLocationServices","requestLocationPermission","errorHandler","isValidPlatform","OkHiNativeModule","OkHiException","start","phoneNumber","locationId","lat","lon","configuration","OS","startAddressVerification","startVerification","response","Promise","resolve","reject","location","user","id","result","phone","code","BAD_REQUEST_CODE","message","stopVerification","stopAddressVerification","startForegroundService","stopForegroundService","isForegroundServiceRunning","canStartVerification","requestServices","locationServicesStatus","googlePlayServices","backgroundLocationPerm","console","log","SERVICE_UNAVAILABLE_CODE","locationServicesRequestStatus","gPlayServices","perm"],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport {\n isBackgroundLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n isLocationServicesEnabled,\n requestBackgroundLocationPermission,\n requestEnableGooglePlayServices,\n requestEnableLocationServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { errorHandler, isValidPlatform } from '../OkCore/_helpers';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\nimport type { OkVerifyStartConfiguration } from './types';\nimport type { OkCollectSuccessResponse } from '../OkCollect/types';\nimport { OkHiException } from '../OkCore/OkHiException';\nexport * from './types';\n/**\n * Starts verification for a particular address\n * @param {string} phoneNumber A users phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @param {number} lat The latitude of the created address\n * @param {number} lon The longitude of the created address\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification, default is true\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const start = (\n phoneNumber: string,\n locationId: string,\n lat: number,\n lon: number,\n configuration?: OkVerifyStartConfiguration\n) => {\n return isValidPlatform(() => {\n if (Platform.OS === 'android') {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon,\n configuration\n );\n } else {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon\n );\n }\n });\n};\n\n/**\n * Starts verification for a particular address using the response object returned by OkCollect\n * @param {Object} response Response returned by OkCollect\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const startVerification = async (\n response: OkCollectSuccessResponse,\n configuration?: OkVerifyStartConfiguration\n) => {\n return new Promise((resolve, reject) => {\n const { location, user } = response;\n if (location.id) {\n if (Platform.OS === 'android') {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon,\n configuration\n );\n resolve(result);\n } else {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon\n );\n resolve(result);\n }\n } else {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n }\n });\n};\n\n/**\n * Stops verification for a particular address using a user's phonenumber and OkHi location identifier\n * @param {string} phoneNumber The user's phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const stopVerification = (phoneNumber: string, locationId: string) => {\n return isValidPlatform(() =>\n OkHiNativeModule.stopAddressVerification(phoneNumber, locationId)\n );\n};\n\n/**\n * Android Only - Starts a foreground service that speeds up rate of verification\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has started successfully\n */\nexport const startForegroundService = () => {\n return isValidPlatform(\n () => errorHandler(OkHiNativeModule.startForegroundService),\n 'android'\n );\n};\n\n/**\n * Android Only - Stops previously started foreground services\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has stopped successfully\n */\nexport const stopForegroundService = () => {\n return isValidPlatform(OkHiNativeModule.stopForegroundService, 'android');\n};\n\n/**\n * Android Only - Checks if the foreground service is running\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service is running\n */\nexport const isForegroundServiceRunning = () => {\n return isValidPlatform(\n OkHiNativeModule.isForegroundServiceRunning,\n 'android'\n );\n};\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address verification 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 verification process\n */\nexport const canStartVerification = (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 backgroundLocationPerm =\n await isBackgroundLocationPermissionGranted();\n if (!requestServices) {\n resolve(\n locationServicesStatus && googlePlayServices && backgroundLocationPerm\n );\n return;\n }\n console.log('here..', requestServices);\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 === 'ios' ? true : await requestEnableGooglePlayServices();\n let perm = false;\n if (Platform.OS === 'ios') {\n perm = await requestBackgroundLocationPermission();\n } else {\n perm =\n (await requestLocationPermission()) &&\n (await requestBackgroundLocationPermission());\n }\n resolve(locationServicesRequestStatus && gPlayServices && perm);\n }\n });\n};\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["Platform","isBackgroundLocationPermissionGranted","isGooglePlayServicesAvailable","isLocationServicesEnabled","requestBackgroundLocationPermission","requestEnableGooglePlayServices","requestEnableLocationServices","requestLocationPermission","errorHandler","isValidPlatform","OkHiNativeModule","OkHiException","start","phoneNumber","locationId","lat","lon","configuration","OS","startAddressVerification","startVerification","response","Promise","resolve","reject","location","user","id","result","phone","code","BAD_REQUEST_CODE","message","stopVerification","stopAddressVerification","startForegroundService","stopForegroundService","isForegroundServiceRunning","canStartVerification","requestServices","locationServicesStatus","googlePlayServices","backgroundLocationPerm","SERVICE_UNAVAILABLE_CODE","locationServicesRequestStatus","gPlayServices","perm"],"mappings":"AAAA,SAASA,QAAT,QAAyB,cAAzB;AACA,SACEC,qCADF,EAEEC,6BAFF,EAGEC,yBAHF,EAIEC,mCAJF,EAKEC,+BALF,EAMEC,6BANF,EAOEC,yBAPF,QAQO,mBARP;AASA,SAASC,YAAT,EAAuBC,eAAvB,QAA8C,oBAA9C;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AAGA,SAASC,aAAT,QAA8B,yBAA9B;AACA,cAAc,SAAd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,KAAK,GAAG,CACnBC,WADmB,EAEnBC,UAFmB,EAGnBC,GAHmB,EAInBC,GAJmB,EAKnBC,aALmB,KAMhB;AACH,SAAOR,eAAe,CAAC,MAAM;AAC3B,QAAIT,QAAQ,CAACkB,EAAT,KAAgB,SAApB,EAA+B;AAC7B,aAAOR,gBAAgB,CAACS,wBAAjB,CACLN,WADK,EAELC,UAFK,EAGLC,GAHK,EAILC,GAJK,EAKLC,aALK,CAAP;AAOD,KARD,MAQO;AACL,aAAOP,gBAAgB,CAACS,wBAAjB,CACLN,WADK,EAELC,UAFK,EAGLC,GAHK,EAILC,GAJK,CAAP;AAMD;AACF,GAjBqB,CAAtB;AAkBD,CAzBM;AA2BP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMI,iBAAiB,GAAG,OAC/BC,QAD+B,EAE/BJ,aAF+B,KAG5B;AACH,SAAO,IAAIK,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAqBL,QAA3B;;AACA,QAAII,QAAQ,CAACE,EAAb,EAAiB;AACf,UAAI3B,QAAQ,CAACkB,EAAT,KAAgB,SAApB,EAA+B;AAC7B,cAAMU,MAAM,GAAGlB,gBAAgB,CAACS,wBAAjB,CACbO,IAAI,CAACG,KADQ,EAEbJ,QAAQ,CAACE,EAFI,EAGbF,QAAQ,CAACV,GAHI,EAIbU,QAAQ,CAACT,GAJI,EAKbC,aALa,CAAf;AAOAM,QAAAA,OAAO,CAACK,MAAD,CAAP;AACD,OATD,MASO;AACL,cAAMA,MAAM,GAAGlB,gBAAgB,CAACS,wBAAjB,CACbO,IAAI,CAACG,KADQ,EAEbJ,QAAQ,CAACE,EAFI,EAGbF,QAAQ,CAACV,GAHI,EAIbU,QAAQ,CAACT,GAJI,CAAf;AAMAO,QAAAA,OAAO,CAACK,MAAD,CAAP;AACD;AACF,KAnBD,MAmBO;AACLJ,MAAAA,MAAM,CACJ,IAAIb,aAAJ,CAAkB;AAChBmB,QAAAA,IAAI,EAAEnB,aAAa,CAACoB,gBADJ;AAEhBC,QAAAA,OAAO,EAAE;AAFO,OAAlB,CADI,CAAN;AAMD;AACF,GA7BM,CAAP;AA8BD,CAlCM;AAoCP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAACpB,WAAD,EAAsBC,UAAtB,KAA6C;AAC3E,SAAOL,eAAe,CAAC,MACrBC,gBAAgB,CAACwB,uBAAjB,CAAyCrB,WAAzC,EAAsDC,UAAtD,CADoB,CAAtB;AAGD,CAJM;AAMP;AACA;AACA;AACA;;AACA,OAAO,MAAMqB,sBAAsB,GAAG,MAAM;AAC1C,SAAO1B,eAAe,CACpB,MAAMD,YAAY,CAACE,gBAAgB,CAACyB,sBAAlB,CADE,EAEpB,SAFoB,CAAtB;AAID,CALM;AAOP;AACA;AACA;AACA;;AACA,OAAO,MAAMC,qBAAqB,GAAG,MAAM;AACzC,SAAO3B,eAAe,CAACC,gBAAgB,CAAC0B,qBAAlB,EAAyC,SAAzC,CAAtB;AACD,CAFM;AAIP;AACA;AACA;AACA;;AACA,OAAO,MAAMC,0BAA0B,GAAG,MAAM;AAC9C,SAAO5B,eAAe,CACpBC,gBAAgB,CAAC2B,0BADG,EAEpB,SAFoB,CAAtB;AAID,CALM;AAOP;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,oBAAoB,GAAIrB,aAAD,IAEZ;AACtB,SAAO,IAAIK,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;AAC5C,UAAMe,eAAe,GAAGtB,aAAa,IAAIA,aAAa,CAACsB,eAAvD;AACA,UAAMC,sBAAsB,GAAG,MAAMrC,yBAAyB,EAA9D;AACA,UAAMsC,kBAAkB,GACtBzC,QAAQ,CAACkB,EAAT,KAAgB,SAAhB,GAA4B,MAAMhB,6BAA6B,EAA/D,GAAoE,IADtE;AAEA,UAAMwC,sBAAsB,GAC1B,MAAMzC,qCAAqC,EAD7C;;AAEA,QAAI,CAACsC,eAAL,EAAsB;AACpBhB,MAAAA,OAAO,CACLiB,sBAAsB,IAAIC,kBAA1B,IAAgDC,sBAD3C,CAAP;AAGA;AACD;;AACD,QAAI,CAACF,sBAAD,IAA2BxC,QAAQ,CAACkB,EAAT,KAAgB,KAA/C,EAAsD;AACpDM,MAAAA,MAAM,CACJ,IAAIb,aAAJ,CAAkB;AAChBmB,QAAAA,IAAI,EAAEnB,aAAa,CAACgC,wBADJ;AAEhBX,QAAAA,OAAO,EAAE;AAFO,OAAlB,CADI,CAAN;AAMD,KAPD,MAOO;AACL,YAAMY,6BAA6B,GACjC5C,QAAQ,CAACkB,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEM,MAAMZ,6BAA6B,EAH3C;AAIA,YAAMuC,aAAa,GACjB7C,QAAQ,CAACkB,EAAT,KAAgB,KAAhB,GAAwB,IAAxB,GAA+B,MAAMb,+BAA+B,EADtE;AAEA,UAAIyC,IAAI,GAAG,KAAX;;AACA,UAAI9C,QAAQ,CAACkB,EAAT,KAAgB,KAApB,EAA2B;AACzB4B,QAAAA,IAAI,GAAG,MAAM1C,mCAAmC,EAAhD;AACD,OAFD,MAEO;AACL0C,QAAAA,IAAI,GACF,CAAC,MAAMvC,yBAAyB,EAAhC,MACC,MAAMH,mCAAmC,EAD1C,CADF;AAGD;;AACDmB,MAAAA,OAAO,CAACqB,6BAA6B,IAAIC,aAAjC,IAAkDC,IAAnD,CAAP;AACD;AACF,GArCM,CAAP;AAsCD,CAzCM","sourcesContent":["import { Platform } from 'react-native';\nimport {\n isBackgroundLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n isLocationServicesEnabled,\n requestBackgroundLocationPermission,\n requestEnableGooglePlayServices,\n requestEnableLocationServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { errorHandler, isValidPlatform } from '../OkCore/_helpers';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\nimport type { OkVerifyStartConfiguration } from './types';\nimport type { OkCollectSuccessResponse } from '../OkCollect/types';\nimport { OkHiException } from '../OkCore/OkHiException';\nexport * from './types';\n/**\n * Starts verification for a particular address\n * @param {string} phoneNumber A users phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @param {number} lat The latitude of the created address\n * @param {number} lon The longitude of the created address\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification, default is true\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const start = (\n phoneNumber: string,\n locationId: string,\n lat: number,\n lon: number,\n configuration?: OkVerifyStartConfiguration\n) => {\n return isValidPlatform(() => {\n if (Platform.OS === 'android') {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon,\n configuration\n );\n } else {\n return OkHiNativeModule.startAddressVerification(\n phoneNumber,\n locationId,\n lat,\n lon\n );\n }\n });\n};\n\n/**\n * Starts verification for a particular address using the response object returned by OkCollect\n * @param {Object} response Response returned by OkCollect\n * @param {Object} configuration Configures how verification will start on different platforms\n * @param {Object} configuration.android Specifices how verification will start on Android platforms\n * @param {boolean} configuration.android.withForeground Specifices if the foreground service will be turned on to speed up rate of verification\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const startVerification = async (\n response: OkCollectSuccessResponse,\n configuration?: OkVerifyStartConfiguration\n) => {\n return new Promise((resolve, reject) => {\n const { location, user } = response;\n if (location.id) {\n if (Platform.OS === 'android') {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon,\n configuration\n );\n resolve(result);\n } else {\n const result = OkHiNativeModule.startAddressVerification(\n user.phone,\n location.id,\n location.lat,\n location.lon\n );\n resolve(result);\n }\n } else {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n }\n });\n};\n\n/**\n * Stops verification for a particular address using a user's phonenumber and OkHi location identifier\n * @param {string} phoneNumber The user's phone number\n * @param {string} locationId An OkHi location identifier obtained after successfull creation of addresses.\n * @returns {Promise<string>} A promise that resolves to a string value of the location identifier\n */\nexport const stopVerification = (phoneNumber: string, locationId: string) => {\n return isValidPlatform(() =>\n OkHiNativeModule.stopAddressVerification(phoneNumber, locationId)\n );\n};\n\n/**\n * Android Only - Starts a foreground service that speeds up rate of verification\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has started successfully\n */\nexport const startForegroundService = () => {\n return isValidPlatform(\n () => errorHandler(OkHiNativeModule.startForegroundService),\n 'android'\n );\n};\n\n/**\n * Android Only - Stops previously started foreground services\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service has stopped successfully\n */\nexport const stopForegroundService = () => {\n return isValidPlatform(OkHiNativeModule.stopForegroundService, 'android');\n};\n\n/**\n * Android Only - Checks if the foreground service is running\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether the service is running\n */\nexport const isForegroundServiceRunning = () => {\n return isValidPlatform(\n OkHiNativeModule.isForegroundServiceRunning,\n 'android'\n );\n};\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address verification 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 verification process\n */\nexport const canStartVerification = (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 backgroundLocationPerm =\n await isBackgroundLocationPermissionGranted();\n if (!requestServices) {\n resolve(\n locationServicesStatus && googlePlayServices && backgroundLocationPerm\n );\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 === 'ios' ? true : await requestEnableGooglePlayServices();\n let perm = false;\n if (Platform.OS === 'ios') {\n perm = await requestBackgroundLocationPermission();\n } else {\n perm =\n (await requestLocationPermission()) &&\n (await requestBackgroundLocationPermission());\n }\n resolve(locationServicesRequestStatus && gPlayServices && perm);\n }\n });\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-okhi",
3
- "version": "1.0.8",
3
+ "version": "1.0.12",
4
4
  "description": "The OkHi React Native library enables you to collect and verify addresses from your users",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,5 +17,5 @@ Pod::Spec.new do |s|
17
17
 
18
18
  s.dependency "React-Core"
19
19
  s.dependency 'OkCore', '~> 1.3.9'
20
- s.dependency 'OkVerify', '~> 1.3.5'
20
+ s.dependency 'OkVerify', '~> 1.4.7'
21
21
  end
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.0.8"
3
+ "version": "1.0.12"
4
4
  }
@@ -7,10 +7,11 @@ export function isValidPlatform<T>(
7
7
  fn: () => Promise<T>,
8
8
  platform?: PlatformOSType
9
9
  ) {
10
+ const callingFunc = arguments.callee.caller.name;
10
11
  return new Promise<T>((resolve, reject) => {
11
12
  const error = new OkHiException({
12
13
  code: OkHiException.UNSUPPORTED_PLATFORM_CODE,
13
- message: OkHiException.UNSUPPORTED_PLATFORM_MESSAGE,
14
+ message: callingFunc + ' is not supported in the current platform',
14
15
  });
15
16
  if (platform && Platform.OS !== platform) {
16
17
  reject(error);
@@ -160,7 +160,6 @@ export const canStartVerification = (configuration?: {
160
160
  );
161
161
  return;
162
162
  }
163
- console.log('here..', requestServices);
164
163
  if (!locationServicesStatus && Platform.OS === 'ios') {
165
164
  reject(
166
165
  new OkHiException({
File without changes
@@ -1,2 +0,0 @@
1
- #Mon Nov 15 11:14:54 EAT 2021
2
- gradle.version=6.6.1
File without changes
File without changes