@savers_app/react-native-sandbox-sdk 1.2.6

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 (212) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +556 -0
  3. package/lib/module/@types/@react-native-async-storage__async-storage.d.js +2 -0
  4. package/lib/module/@types/@react-native-async-storage__async-storage.d.js.map +1 -0
  5. package/lib/module/@types/@react-native-community__geolocation.d.js +2 -0
  6. package/lib/module/@types/@react-native-community__geolocation.d.js.map +1 -0
  7. package/lib/module/@types/react-native-aes-gcm-crypto.d.js +2 -0
  8. package/lib/module/@types/react-native-aes-gcm-crypto.d.js.map +1 -0
  9. package/lib/module/@types/react-native-device-info.d.js +2 -0
  10. package/lib/module/@types/react-native-device-info.d.js.map +1 -0
  11. package/lib/module/core/runtime.js +70 -0
  12. package/lib/module/core/runtime.js.map +1 -0
  13. package/lib/module/data/models/apiResponse.js +19 -0
  14. package/lib/module/data/models/apiResponse.js.map +1 -0
  15. package/lib/module/data/models/onboardingModel.js +67 -0
  16. package/lib/module/data/models/onboardingModel.js.map +1 -0
  17. package/lib/module/data/models/tokenModel.js +25 -0
  18. package/lib/module/data/models/tokenModel.js.map +1 -0
  19. package/lib/module/data/network/apiClient.js +109 -0
  20. package/lib/module/data/network/apiClient.js.map +1 -0
  21. package/lib/module/data/network/apiEndpoints.js +7 -0
  22. package/lib/module/data/network/apiEndpoints.js.map +1 -0
  23. package/lib/module/data/network/apiExceptionHandler.js +16 -0
  24. package/lib/module/data/network/apiExceptionHandler.js.map +1 -0
  25. package/lib/module/data/network/apiRepository.js +84 -0
  26. package/lib/module/data/network/apiRepository.js.map +1 -0
  27. package/lib/module/data/network/apiService.js +102 -0
  28. package/lib/module/data/network/apiService.js.map +1 -0
  29. package/lib/module/data/network/dataTypeUtils.js +77 -0
  30. package/lib/module/data/network/dataTypeUtils.js.map +1 -0
  31. package/lib/module/data/network/interceptors/authInterceptor.js +72 -0
  32. package/lib/module/data/network/interceptors/authInterceptor.js.map +1 -0
  33. package/lib/module/data/network/interceptors/errorInterceptor.js +15 -0
  34. package/lib/module/data/network/interceptors/errorInterceptor.js.map +1 -0
  35. package/lib/module/data/network/interceptors/loggingInterceptor.js +17 -0
  36. package/lib/module/data/network/interceptors/loggingInterceptor.js.map +1 -0
  37. package/lib/module/data/network/interceptors/networkInterceptor.js +22 -0
  38. package/lib/module/data/network/interceptors/networkInterceptor.js.map +1 -0
  39. package/lib/module/data/network/interceptors/retryInterceptor.js +22 -0
  40. package/lib/module/data/network/interceptors/retryInterceptor.js.map +1 -0
  41. package/lib/module/data/storage/asyncStorageManager.js +50 -0
  42. package/lib/module/data/storage/asyncStorageManager.js.map +1 -0
  43. package/lib/module/data/storage/deviceIdManager.js +45 -0
  44. package/lib/module/data/storage/deviceIdManager.js.map +1 -0
  45. package/lib/module/data/storage/keysManager.js +70 -0
  46. package/lib/module/data/storage/keysManager.js.map +1 -0
  47. package/lib/module/data/storage/locationManager.js +30 -0
  48. package/lib/module/data/storage/locationManager.js.map +1 -0
  49. package/lib/module/data/storage/reactRefManager.js +22 -0
  50. package/lib/module/data/storage/reactRefManager.js.map +1 -0
  51. package/lib/module/data/storage/sessionManager.js +12 -0
  52. package/lib/module/data/storage/sessionManager.js.map +1 -0
  53. package/lib/module/data/storage/storageKeys.js +7 -0
  54. package/lib/module/data/storage/storageKeys.js.map +1 -0
  55. package/lib/module/data/storage/storageManager.js +76 -0
  56. package/lib/module/data/storage/storageManager.js.map +1 -0
  57. package/lib/module/index.js +20 -0
  58. package/lib/module/index.js.map +1 -0
  59. package/lib/module/package.json +1 -0
  60. package/lib/module/services/device/location.js +47 -0
  61. package/lib/module/services/device/location.js.map +1 -0
  62. package/lib/module/services/navigation/dialPad.js +29 -0
  63. package/lib/module/services/navigation/dialPad.js.map +1 -0
  64. package/lib/module/services/navigation/goBackNavigation.js +19 -0
  65. package/lib/module/services/navigation/goBackNavigation.js.map +1 -0
  66. package/lib/module/services/navigation/openBrowser.js +8 -0
  67. package/lib/module/services/navigation/openBrowser.js.map +1 -0
  68. package/lib/module/services/navigation/openMap.js +42 -0
  69. package/lib/module/services/navigation/openMap.js.map +1 -0
  70. package/lib/module/services/permissions/permissionManager.js +28 -0
  71. package/lib/module/services/permissions/permissionManager.js.map +1 -0
  72. package/lib/module/services/url/urlGenerator.js +94 -0
  73. package/lib/module/services/url/urlGenerator.js.map +1 -0
  74. package/lib/module/services/webview/messageHandler.js +72 -0
  75. package/lib/module/services/webview/messageHandler.js.map +1 -0
  76. package/lib/module/utils/config.js +34 -0
  77. package/lib/module/utils/config.js.map +1 -0
  78. package/lib/module/utils/dependencyManager.js +51 -0
  79. package/lib/module/utils/dependencyManager.js.map +1 -0
  80. package/lib/module/utils/encryption.js +63 -0
  81. package/lib/module/utils/encryption.js.map +1 -0
  82. package/lib/module/utils/errors.js +9 -0
  83. package/lib/module/utils/errors.js.map +1 -0
  84. package/lib/module/utils/logger.js +14 -0
  85. package/lib/module/utils/logger.js.map +1 -0
  86. package/lib/module/utils/platformManager.js +14 -0
  87. package/lib/module/utils/platformManager.js.map +1 -0
  88. package/lib/module/utils/validator.js +26 -0
  89. package/lib/module/utils/validator.js.map +1 -0
  90. package/lib/typescript/package.json +1 -0
  91. package/lib/typescript/src/core/runtime.d.ts +11 -0
  92. package/lib/typescript/src/core/runtime.d.ts.map +1 -0
  93. package/lib/typescript/src/data/models/apiResponse.d.ts +9 -0
  94. package/lib/typescript/src/data/models/apiResponse.d.ts.map +1 -0
  95. package/lib/typescript/src/data/models/onboardingModel.d.ts +24 -0
  96. package/lib/typescript/src/data/models/onboardingModel.d.ts.map +1 -0
  97. package/lib/typescript/src/data/models/tokenModel.d.ts +15 -0
  98. package/lib/typescript/src/data/models/tokenModel.d.ts.map +1 -0
  99. package/lib/typescript/src/data/network/apiClient.d.ts +17 -0
  100. package/lib/typescript/src/data/network/apiClient.d.ts.map +1 -0
  101. package/lib/typescript/src/data/network/apiEndpoints.d.ts +5 -0
  102. package/lib/typescript/src/data/network/apiEndpoints.d.ts.map +1 -0
  103. package/lib/typescript/src/data/network/apiExceptionHandler.d.ts +3 -0
  104. package/lib/typescript/src/data/network/apiExceptionHandler.d.ts.map +1 -0
  105. package/lib/typescript/src/data/network/apiRepository.d.ts +21 -0
  106. package/lib/typescript/src/data/network/apiRepository.d.ts.map +1 -0
  107. package/lib/typescript/src/data/network/apiService.d.ts +25 -0
  108. package/lib/typescript/src/data/network/apiService.d.ts.map +1 -0
  109. package/lib/typescript/src/data/network/dataTypeUtils.d.ts +10 -0
  110. package/lib/typescript/src/data/network/dataTypeUtils.d.ts.map +1 -0
  111. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts +15 -0
  112. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts.map +1 -0
  113. package/lib/typescript/src/data/network/interceptors/errorInterceptor.d.ts +4 -0
  114. package/lib/typescript/src/data/network/interceptors/errorInterceptor.d.ts.map +1 -0
  115. package/lib/typescript/src/data/network/interceptors/loggingInterceptor.d.ts +5 -0
  116. package/lib/typescript/src/data/network/interceptors/loggingInterceptor.d.ts.map +1 -0
  117. package/lib/typescript/src/data/network/interceptors/networkInterceptor.d.ts +4 -0
  118. package/lib/typescript/src/data/network/interceptors/networkInterceptor.d.ts.map +1 -0
  119. package/lib/typescript/src/data/network/interceptors/retryInterceptor.d.ts +7 -0
  120. package/lib/typescript/src/data/network/interceptors/retryInterceptor.d.ts.map +1 -0
  121. package/lib/typescript/src/data/storage/asyncStorageManager.d.ts +13 -0
  122. package/lib/typescript/src/data/storage/asyncStorageManager.d.ts.map +1 -0
  123. package/lib/typescript/src/data/storage/deviceIdManager.d.ts +2 -0
  124. package/lib/typescript/src/data/storage/deviceIdManager.d.ts.map +1 -0
  125. package/lib/typescript/src/data/storage/keysManager.d.ts +29 -0
  126. package/lib/typescript/src/data/storage/keysManager.d.ts.map +1 -0
  127. package/lib/typescript/src/data/storage/locationManager.d.ts +21 -0
  128. package/lib/typescript/src/data/storage/locationManager.d.ts.map +1 -0
  129. package/lib/typescript/src/data/storage/reactRefManager.d.ts +11 -0
  130. package/lib/typescript/src/data/storage/reactRefManager.d.ts.map +1 -0
  131. package/lib/typescript/src/data/storage/sessionManager.d.ts +3 -0
  132. package/lib/typescript/src/data/storage/sessionManager.d.ts.map +1 -0
  133. package/lib/typescript/src/data/storage/storageKeys.d.ts +5 -0
  134. package/lib/typescript/src/data/storage/storageKeys.d.ts.map +1 -0
  135. package/lib/typescript/src/data/storage/storageManager.d.ts +16 -0
  136. package/lib/typescript/src/data/storage/storageManager.d.ts.map +1 -0
  137. package/lib/typescript/src/index.d.ts +18 -0
  138. package/lib/typescript/src/index.d.ts.map +1 -0
  139. package/lib/typescript/src/services/device/location.d.ts +8 -0
  140. package/lib/typescript/src/services/device/location.d.ts.map +1 -0
  141. package/lib/typescript/src/services/navigation/dialPad.d.ts +3 -0
  142. package/lib/typescript/src/services/navigation/dialPad.d.ts.map +1 -0
  143. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts +3 -0
  144. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts.map +1 -0
  145. package/lib/typescript/src/services/navigation/openBrowser.d.ts +2 -0
  146. package/lib/typescript/src/services/navigation/openBrowser.d.ts.map +1 -0
  147. package/lib/typescript/src/services/navigation/openMap.d.ts +2 -0
  148. package/lib/typescript/src/services/navigation/openMap.d.ts.map +1 -0
  149. package/lib/typescript/src/services/permissions/permissionManager.d.ts +4 -0
  150. package/lib/typescript/src/services/permissions/permissionManager.d.ts.map +1 -0
  151. package/lib/typescript/src/services/url/urlGenerator.d.ts +44 -0
  152. package/lib/typescript/src/services/url/urlGenerator.d.ts.map +1 -0
  153. package/lib/typescript/src/services/webview/messageHandler.d.ts +2 -0
  154. package/lib/typescript/src/services/webview/messageHandler.d.ts.map +1 -0
  155. package/lib/typescript/src/utils/config.d.ts +5 -0
  156. package/lib/typescript/src/utils/config.d.ts.map +1 -0
  157. package/lib/typescript/src/utils/dependencyManager.d.ts +31 -0
  158. package/lib/typescript/src/utils/dependencyManager.d.ts.map +1 -0
  159. package/lib/typescript/src/utils/encryption.d.ts +5 -0
  160. package/lib/typescript/src/utils/encryption.d.ts.map +1 -0
  161. package/lib/typescript/src/utils/errors.d.ts +4 -0
  162. package/lib/typescript/src/utils/errors.d.ts.map +1 -0
  163. package/lib/typescript/src/utils/logger.d.ts +6 -0
  164. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  165. package/lib/typescript/src/utils/platformManager.d.ts +4 -0
  166. package/lib/typescript/src/utils/platformManager.d.ts.map +1 -0
  167. package/lib/typescript/src/utils/validator.d.ts +4 -0
  168. package/lib/typescript/src/utils/validator.d.ts.map +1 -0
  169. package/package.json +184 -0
  170. package/src/@types/@react-native-async-storage__async-storage.d.ts +7 -0
  171. package/src/@types/@react-native-community__geolocation.d.ts +18 -0
  172. package/src/@types/react-native-aes-gcm-crypto.d.ts +22 -0
  173. package/src/@types/react-native-device-info.d.ts +3 -0
  174. package/src/core/runtime.ts +84 -0
  175. package/src/data/models/apiResponse.ts +28 -0
  176. package/src/data/models/onboardingModel.ts +97 -0
  177. package/src/data/models/tokenModel.ts +43 -0
  178. package/src/data/network/apiClient.ts +148 -0
  179. package/src/data/network/apiEndpoints.ts +4 -0
  180. package/src/data/network/apiExceptionHandler.ts +16 -0
  181. package/src/data/network/apiRepository.ts +130 -0
  182. package/src/data/network/apiService.ts +113 -0
  183. package/src/data/network/dataTypeUtils.ts +78 -0
  184. package/src/data/network/interceptors/authInterceptor.ts +86 -0
  185. package/src/data/network/interceptors/errorInterceptor.ts +13 -0
  186. package/src/data/network/interceptors/loggingInterceptor.ts +16 -0
  187. package/src/data/network/interceptors/networkInterceptor.ts +20 -0
  188. package/src/data/network/interceptors/retryInterceptor.ts +24 -0
  189. package/src/data/storage/asyncStorageManager.ts +56 -0
  190. package/src/data/storage/deviceIdManager.ts +46 -0
  191. package/src/data/storage/keysManager.ts +89 -0
  192. package/src/data/storage/locationManager.ts +39 -0
  193. package/src/data/storage/reactRefManager.ts +25 -0
  194. package/src/data/storage/sessionManager.ts +11 -0
  195. package/src/data/storage/storageKeys.ts +4 -0
  196. package/src/data/storage/storageManager.ts +83 -0
  197. package/src/index.tsx +17 -0
  198. package/src/services/device/location.ts +51 -0
  199. package/src/services/navigation/dialPad.ts +39 -0
  200. package/src/services/navigation/goBackNavigation.ts +19 -0
  201. package/src/services/navigation/openBrowser.ts +6 -0
  202. package/src/services/navigation/openMap.ts +53 -0
  203. package/src/services/permissions/permissionManager.ts +33 -0
  204. package/src/services/url/urlGenerator.ts +140 -0
  205. package/src/services/webview/messageHandler.ts +45 -0
  206. package/src/utils/config.ts +35 -0
  207. package/src/utils/dependencyManager.ts +82 -0
  208. package/src/utils/encryption.ts +96 -0
  209. package/src/utils/errors.ts +6 -0
  210. package/src/utils/logger.ts +11 -0
  211. package/src/utils/platformManager.ts +14 -0
  212. package/src/utils/validator.ts +29 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ // React Native Core
4
+ import { Linking } from 'react-native';
5
+
6
+ // Utilities / Helpers
7
+ import { isValidCoordinates } from "../../utils/validator.js";
8
+
9
+ // Platform / Environment helpers
10
+ import { isIOS } from "../../utils/platformManager.js";
11
+ export async function openMap(lat, lng, label) {
12
+ if (!isValidCoordinates(lat, lng)) {
13
+ throw new Error('INVALID_COORDINATES');
14
+ }
15
+ const iosUrl = `maps:0,0?q=${encodeURIComponent(label ?? '')}@${lat},${lng}`;
16
+ if (isIOS()) {
17
+ try {
18
+ await Linking.openURL(iosUrl);
19
+ return;
20
+ } catch {}
21
+ const browserUrl = `https://maps.apple.com/?q=${encodeURIComponent(label ?? '')}&ll=${lat},${lng}`;
22
+ await Linking.openURL(browserUrl);
23
+ return;
24
+ }
25
+ const encLabel = label ? encodeURIComponent(label) : undefined;
26
+ const query = `${lat},${lng}${encLabel ? `(${encLabel})` : ''}`;
27
+ const candidates = [
28
+ // Prefer geo to show a pin at the destination (not navigation)
29
+ `geo:${lat},${lng}?q=${query}`, `geo:0,0?q=${query}`,
30
+ // Fallback to Google Maps custom scheme as a generic search/pin
31
+ `comgooglemaps://?q=${query}`];
32
+ for (const url of candidates) {
33
+ try {
34
+ await Linking.openURL(url);
35
+ return;
36
+ } catch {}
37
+ }
38
+ const browserQuery = label ? `${label} ${lat},${lng}` : `${lat},${lng}`;
39
+ const browserUrl = `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(browserQuery)}`;
40
+ await Linking.openURL(browserUrl);
41
+ }
42
+ //# sourceMappingURL=openMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Linking","isValidCoordinates","isIOS","openMap","lat","lng","label","Error","iosUrl","encodeURIComponent","openURL","browserUrl","encLabel","undefined","query","candidates","url","browserQuery"],"sourceRoot":"../../../../src","sources":["services/navigation/openMap.ts"],"mappings":";;AAAA;AACA,SAASA,OAAO,QAAQ,cAAc;;AAEtC;AACA,SAASC,kBAAkB,QAAQ,0BAAuB;;AAE1D;AACA,SAASC,KAAK,QAAQ,gCAA6B;AAEnD,OAAO,eAAeC,OAAOA,CAC3BC,GAAW,EACXC,GAAW,EACXC,KAAc,EACC;EACf,IAAI,CAACL,kBAAkB,CAACG,GAAG,EAAEC,GAAG,CAAC,EAAE;IACjC,MAAM,IAAIE,KAAK,CAAC,qBAAqB,CAAC;EACxC;EAEA,MAAMC,MAAM,GAAG,cAAcC,kBAAkB,CAACH,KAAK,IAAI,EAAE,CAAC,IAAIF,GAAG,IAAIC,GAAG,EAAE;EAE5E,IAAIH,KAAK,CAAC,CAAC,EAAE;IACX,IAAI;MACF,MAAMF,OAAO,CAACU,OAAO,CAACF,MAAM,CAAC;MAC7B;IACF,CAAC,CAAC,MAAM,CAAC;IACT,MAAMG,UAAU,GAAG,6BAA6BF,kBAAkB,CAChEH,KAAK,IAAI,EACX,CAAC,OAAOF,GAAG,IAAIC,GAAG,EAAE;IACpB,MAAML,OAAO,CAACU,OAAO,CAACC,UAAU,CAAC;IACjC;EACF;EAEA,MAAMC,QAAQ,GAAGN,KAAK,GAAGG,kBAAkB,CAACH,KAAK,CAAC,GAAGO,SAAS;EAC9D,MAAMC,KAAK,GAAG,GAAGV,GAAG,IAAIC,GAAG,GAAGO,QAAQ,GAAG,IAAIA,QAAQ,GAAG,GAAG,EAAE,EAAE;EAC/D,MAAMG,UAAU,GAAG;EACjB;EACA,OAAOX,GAAG,IAAIC,GAAG,MAAMS,KAAK,EAAE,EAC9B,aAAaA,KAAK,EAAE;EACpB;EACA,sBAAsBA,KAAK,EAAE,CAC9B;EACD,KAAK,MAAME,GAAG,IAAID,UAAU,EAAE;IAC5B,IAAI;MACF,MAAMf,OAAO,CAACU,OAAO,CAACM,GAAG,CAAC;MAC1B;IACF,CAAC,CAAC,MAAM,CAAC;EACX;EACA,MAAMC,YAAY,GAAGX,KAAK,GAAG,GAAGA,KAAK,IAAIF,GAAG,IAAIC,GAAG,EAAE,GAAG,GAAGD,GAAG,IAAIC,GAAG,EAAE;EACvE,MAAMM,UAAU,GAAG,mDAAmDF,kBAAkB,CACtFQ,YACF,CAAC,EAAE;EACH,MAAMjB,OAAO,CAACU,OAAO,CAACC,UAAU,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ // React Native Core
4
+ import { Platform, PermissionsAndroid } from 'react-native';
5
+ export const requestPermission = async permission => {
6
+ if (Platform.OS === 'ios') return true;
7
+ const already = await PermissionsAndroid.check(permission);
8
+ if (already) return true;
9
+ const result = await PermissionsAndroid.request(permission);
10
+ if (result === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) return false;
11
+ return result === PermissionsAndroid.RESULTS.GRANTED;
12
+ };
13
+ export async function ensureLocationPermission() {
14
+ if (Platform.OS === 'ios') return true;
15
+ const fine = PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION;
16
+ const coarse = PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION;
17
+ const fineGranted = await PermissionsAndroid.check(fine);
18
+ const coarseGranted = await PermissionsAndroid.check(coarse);
19
+ if (fineGranted || coarseGranted) return true;
20
+ const res = await PermissionsAndroid.requestMultiple([fine, coarse]);
21
+ const fineOk = res[fine] === PermissionsAndroid.RESULTS.GRANTED;
22
+ const coarseOk = res[coarse] === PermissionsAndroid.RESULTS.GRANTED;
23
+ if (res[fine] === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN || res[coarse] === PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN) {
24
+ return false;
25
+ }
26
+ return fineOk || coarseOk;
27
+ }
28
+ //# sourceMappingURL=permissionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","PermissionsAndroid","requestPermission","permission","OS","already","check","result","request","RESULTS","NEVER_ASK_AGAIN","GRANTED","ensureLocationPermission","fine","PERMISSIONS","ACCESS_FINE_LOCATION","coarse","ACCESS_COARSE_LOCATION","fineGranted","coarseGranted","res","requestMultiple","fineOk","coarseOk"],"sourceRoot":"../../../../src","sources":["services/permissions/permissionManager.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,EAAEC,kBAAkB,QAAQ,cAAc;AAE3D,OAAO,MAAMC,iBAAiB,GAAG,MAC/BC,UAA4D,IACzD;EACH,IAAIH,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EAEtC,MAAMC,OAAO,GAAG,MAAMJ,kBAAkB,CAACK,KAAK,CAACH,UAAU,CAAC;EAC1D,IAAIE,OAAO,EAAE,OAAO,IAAI;EACxB,MAAME,MAAM,GAAG,MAAMN,kBAAkB,CAACO,OAAO,CAACL,UAAU,CAAC;EAC3D,IAAII,MAAM,KAAKN,kBAAkB,CAACQ,OAAO,CAACC,eAAe,EAAE,OAAO,KAAK;EACvE,OAAOH,MAAM,KAAKN,kBAAkB,CAACQ,OAAO,CAACE,OAAO;AACtD,CAAC;AAED,OAAO,eAAeC,wBAAwBA,CAAA,EAAqB;EACjE,IAAIZ,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;EACtC,MAAMS,IAAI,GAAGZ,kBAAkB,CAACa,WAAW,CAACC,oBAAoB;EAChE,MAAMC,MAAM,GAAGf,kBAAkB,CAACa,WAAW,CAACG,sBAAsB;EACpE,MAAMC,WAAW,GAAG,MAAMjB,kBAAkB,CAACK,KAAK,CAACO,IAAI,CAAC;EACxD,MAAMM,aAAa,GAAG,MAAMlB,kBAAkB,CAACK,KAAK,CAACU,MAAM,CAAC;EAC5D,IAAIE,WAAW,IAAIC,aAAa,EAAE,OAAO,IAAI;EAC7C,MAAMC,GAAG,GAAG,MAAMnB,kBAAkB,CAACoB,eAAe,CAAC,CAACR,IAAI,EAAEG,MAAM,CAAC,CAAC;EACpE,MAAMM,MAAM,GAAGF,GAAG,CAACP,IAAI,CAAC,KAAKZ,kBAAkB,CAACQ,OAAO,CAACE,OAAO;EAC/D,MAAMY,QAAQ,GAAGH,GAAG,CAACJ,MAAM,CAAC,KAAKf,kBAAkB,CAACQ,OAAO,CAACE,OAAO;EACnE,IACES,GAAG,CAACP,IAAI,CAAC,KAAKZ,kBAAkB,CAACQ,OAAO,CAACC,eAAe,IACxDU,GAAG,CAACJ,MAAM,CAAC,KAAKf,kBAAkB,CAACQ,OAAO,CAACC,eAAe,EAC1D;IACA,OAAO,KAAK;EACd;EACA,OAAOY,MAAM,IAAIC,QAAQ;AAC3B","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ // Utilities / Helpers
4
+ import { SDKError } from "../../utils/errors.js";
5
+ import { aesEncrypt } from "../../utils/encryption.js";
6
+
7
+ // Storage / Session
8
+ import { getDeviceId } from "../../data/storage/deviceIdManager.js";
9
+ import { getSessionId } from "../../data/storage/sessionManager.js";
10
+ import { getLocationCoordinates } from "../../data/storage/locationManager.js";
11
+ import { getEncryptionKey, getPRefCode } from "../../data/storage/keysManager.js";
12
+ import { getBaseUrl } from "../../utils/config.js";
13
+ export function validateInput(input) {
14
+ const errors = [];
15
+ const auth = input.authType ?? 'PHONE';
16
+ if (!input.profile) errors.push('profile is mandatory');
17
+ if (!input.profile?.userId) errors.push('userId is mandatory');
18
+ if (!input.profile?.email) errors.push('email is mandatory');
19
+ if (!input.nonce) errors.push('nonce is mandatory');
20
+ const pv = input.profile?.pv;
21
+ const ev = input.profile?.ev;
22
+ if (typeof pv !== 'undefined' && pv !== '0' && pv !== '1') {
23
+ errors.push('pv must be 0 or 1');
24
+ }
25
+ if (typeof ev !== 'undefined' && ev !== '0' && ev !== '1') {
26
+ errors.push('ev must be 0 or 1');
27
+ }
28
+ if (!auth) errors.push('authType is mandatory');
29
+ if (auth === 'USERNAME' && !input.profile?.username) {
30
+ errors.push('username is mandatory for USERNAME authType');
31
+ }
32
+ if (auth === 'PHONE' && !input.profile?.phone) {
33
+ errors.push('phone is mandatory for PHONE authType');
34
+ }
35
+ const screenName = input.screen?.name;
36
+ if (screenName === 'OfrDetails') {
37
+ const attrs = input.screen?.attributes ?? [];
38
+ if (!attrs.length) {
39
+ errors.push('screen.attributes is mandatory when screen.name is OfrDetails');
40
+ }
41
+ }
42
+ return {
43
+ ok: errors.length === 0,
44
+ errors
45
+ };
46
+ }
47
+ export async function generateUrl(input) {
48
+ const deviceId = await getDeviceId();
49
+ const storedLocation = await getLocationCoordinates();
50
+ const sessionId = await getSessionId();
51
+ const deviceInfo = storedLocation != null ? {
52
+ dId: deviceId,
53
+ location: storedLocation
54
+ } : {
55
+ dId: deviceId
56
+ };
57
+ const normalized = {
58
+ profile: input.profile,
59
+ screen: input.screen,
60
+ authType: input.authType ?? 'PHONE',
61
+ sessionId: sessionId ?? '',
62
+ deviceInfo,
63
+ nonce: input.nonce
64
+ };
65
+ const validation = validateInput({
66
+ ...normalized,
67
+ deviceInfo: normalized.deviceInfo
68
+ });
69
+ if (!validation.ok) {
70
+ throw new SDKError(`Validation failed: ${validation.errors.join(', ')}`);
71
+ }
72
+ const payload = {
73
+ screen: normalized.screen ?? {
74
+ name: 'Explore'
75
+ },
76
+ profile: normalized.profile,
77
+ authType: normalized.authType,
78
+ deviceInfo: normalized.deviceInfo,
79
+ sessionId: normalized.sessionId,
80
+ nonce: normalized.nonce
81
+ };
82
+ const json = JSON.stringify(payload);
83
+ const key = await getEncryptionKey();
84
+ if (!key || key === '-') {
85
+ throw new SDKError('Encryption key is mandatory. Initialize SDK with encryptionKey.');
86
+ }
87
+ const encoded = await aesEncrypt(json, key);
88
+ const programCode = await getPRefCode();
89
+ if (!programCode || programCode === '-') {
90
+ throw new SDKError('pRefCode is mandatory. Initialize SDK with pRefCode.');
91
+ }
92
+ return `${getBaseUrl()}?pRefCode=${encodeURIComponent(programCode)}&qP=${encodeURIComponent(encoded)}`;
93
+ }
94
+ //# sourceMappingURL=urlGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDKError","aesEncrypt","getDeviceId","getSessionId","getLocationCoordinates","getEncryptionKey","getPRefCode","getBaseUrl","validateInput","input","errors","auth","authType","profile","push","userId","email","nonce","pv","ev","username","phone","screenName","screen","name","attrs","attributes","length","ok","generateUrl","deviceId","storedLocation","sessionId","deviceInfo","dId","location","normalized","validation","join","payload","json","JSON","stringify","key","encoded","programCode","encodeURIComponent"],"sourceRoot":"../../../../src","sources":["services/url/urlGenerator.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ import { openMap } from "../navigation/openMap.js";
4
+ import { openDialPad } from "../navigation/dialPad.js";
5
+ import { openBrowser } from "../navigation/openBrowser.js";
6
+ import { closeCurrentScreenSafe } from "../navigation/goBackNavigation.js";
7
+ import { setSessionId } from "../../data/storage/sessionManager.js";
8
+ export function handleWebMessage(raw, postBack) {
9
+ let msg;
10
+ try {
11
+ msg = JSON.parse(raw);
12
+ } catch {
13
+ return;
14
+ }
15
+ const action = msg?.action;
16
+ const payload = msg?.payload;
17
+ const reply = data => postBack?.(data);
18
+ (async () => {
19
+ try {
20
+ if (action === 'OPEN_MAP') {
21
+ const {
22
+ lat,
23
+ lng,
24
+ label
25
+ } = payload || {};
26
+ await openMap(lat, lng, label);
27
+ reply({
28
+ ok: true,
29
+ action
30
+ });
31
+ } else if (action === 'SHOW_DIAL_PAD') {
32
+ await openDialPad(payload?.number);
33
+ reply({
34
+ ok: true,
35
+ action
36
+ });
37
+ } else if (action === 'MERCHANT_PORTAL_REDIRECT') {
38
+ await openBrowser(payload?.url);
39
+ reply({
40
+ ok: true,
41
+ action
42
+ });
43
+ } else if (action === 'SESSION_ID') {
44
+ const {
45
+ sessionId
46
+ } = payload || {};
47
+ const id = await setSessionId(sessionId);
48
+ reply({
49
+ ok: true,
50
+ action,
51
+ sessionId: id
52
+ });
53
+ } else if (action === 'END_SESSION') {
54
+ closeCurrentScreenSafe();
55
+ // reply({ ok: true, action, closed });
56
+ } else {
57
+ reply({
58
+ ok: false,
59
+ error: 'UNKNOWN_ACTION',
60
+ action
61
+ });
62
+ }
63
+ } catch (e) {
64
+ reply({
65
+ ok: false,
66
+ error: e?.message ?? String(e),
67
+ action
68
+ });
69
+ }
70
+ })();
71
+ }
72
+ //# sourceMappingURL=messageHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["openMap","openDialPad","openBrowser","closeCurrentScreenSafe","setSessionId","handleWebMessage","raw","postBack","msg","JSON","parse","action","payload","reply","data","lat","lng","label","ok","number","url","sessionId","id","error","e","message","String"],"sourceRoot":"../../../../src","sources":["services/webview/messageHandler.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,0BAAuB;AAC/C,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,WAAW,QAAQ,8BAA2B;AACvD,SAASC,sBAAsB,QAAQ,mCAAgC;AACvE,SAASC,YAAY,QAAQ,sCAAmC;AAEhE,OAAO,SAASC,gBAAgBA,CAACC,GAAW,EAAEC,QAA8B,EAAE;EAC5E,IAAIC,GAAuC;EAC3C,IAAI;IACFA,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;EACvB,CAAC,CAAC,MAAM;IACN;EACF;EACA,MAAMK,MAAM,GAAGH,GAAG,EAAEG,MAAM;EAC1B,MAAMC,OAAO,GAAGJ,GAAG,EAAEI,OAAO;EAE5B,MAAMC,KAAK,GAAIC,IAAS,IAAKP,QAAQ,GAAGO,IAAI,CAAC;EAE7C,CAAC,YAAY;IACX,IAAI;MACF,IAAIH,MAAM,KAAK,UAAU,EAAE;QACzB,MAAM;UAAEI,GAAG;UAAEC,GAAG;UAAEC;QAAM,CAAC,GAAGL,OAAO,IAAI,CAAC,CAAC;QACzC,MAAMZ,OAAO,CAACe,GAAG,EAAEC,GAAG,EAAEC,KAAK,CAAC;QAC9BJ,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,eAAe,EAAE;QACrC,MAAMV,WAAW,CAACW,OAAO,EAAEO,MAAM,CAAC;QAClCN,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,0BAA0B,EAAE;QAChD,MAAMT,WAAW,CAACU,OAAO,EAAEQ,GAAG,CAAC;QAC/BP,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,YAAY,EAAE;QAClC,MAAM;UAAEU;QAAU,CAAC,GAAGT,OAAO,IAAI,CAAC,CAAC;QACnC,MAAMU,EAAE,GAAG,MAAMlB,YAAY,CAACiB,SAAS,CAAC;QACxCR,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP,MAAM;UAAEU,SAAS,EAAEC;QAAG,CAAC,CAAC;MAC5C,CAAC,MAAM,IAAIX,MAAM,KAAK,aAAa,EAAE;QACnCR,sBAAsB,CAAC,CAAC;QACxB;MACF,CAAC,MAAM;QACLU,KAAK,CAAC;UAAEK,EAAE,EAAE,KAAK;UAAEK,KAAK,EAAE,gBAAgB;UAAEZ;QAAO,CAAC,CAAC;MACvD;IACF,CAAC,CAAC,OAAOa,CAAM,EAAE;MACfX,KAAK,CAAC;QAAEK,EAAE,EAAE,KAAK;QAAEK,KAAK,EAAEC,CAAC,EAAEC,OAAO,IAAIC,MAAM,CAACF,CAAC,CAAC;QAAEb;MAAO,CAAC,CAAC;IAC9D;EACF,CAAC,EAAE,CAAC;AACN","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ // config.ts
4
+
5
+ // Default environment (build-time injected)
6
+ const injectedEnv = 'sandbox';
7
+ const DEFAULT_ENVIRONMENT = injectedEnv === 'production' ? 'production' : 'sandbox';
8
+ const ENV_URLS = {
9
+ sandbox: 'https://testm.saversapp.com/',
10
+ production: 'https://m.saversapp.com/'
11
+ };
12
+
13
+ // Current environment
14
+ let currentEnvironment = DEFAULT_ENVIRONMENT;
15
+
16
+ // Current base URL
17
+ let BASE_URL = ENV_URLS[currentEnvironment];
18
+
19
+ // Change environment
20
+ export const setEnvironment = env => {
21
+ currentEnvironment = env;
22
+ BASE_URL = ENV_URLS[env];
23
+ };
24
+
25
+ // Get current environment
26
+ export const getEnvironment = () => {
27
+ return currentEnvironment;
28
+ };
29
+
30
+ // Get base URL
31
+ export const getBaseUrl = () => {
32
+ return BASE_URL;
33
+ };
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["injectedEnv","DEFAULT_ENVIRONMENT","ENV_URLS","sandbox","production","currentEnvironment","BASE_URL","setEnvironment","env","getEnvironment","getBaseUrl"],"sourceRoot":"../../../src","sources":["utils/config.ts"],"mappings":";;AAAA;;AAIA;AACA,MAAMA,WAAW,GAAG,SAAmB;AACvC,MAAMC,mBAAgC,GACpCD,WAAW,KAAK,YAAY,GAAG,YAAY,GAAG,SAAS;AAEzD,MAAME,QAAqC,GAAG;EAC5CC,OAAO,EAAE,8BAA8B;EACvCC,UAAU,EAAE;AACd,CAAC;;AAED;AACA,IAAIC,kBAA+B,GAAGJ,mBAAmB;;AAEzD;AACA,IAAIK,QAAgB,GAAGJ,QAAQ,CAACG,kBAAkB,CAAC;;AAEnD;AACA,OAAO,MAAME,cAAc,GAAIC,GAAgB,IAAK;EAClDH,kBAAkB,GAAGG,GAAG;EACxBF,QAAQ,GAAGJ,QAAQ,CAACM,GAAG,CAAC;AAC1B,CAAC;;AAED;AACA,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAmB;EAC/C,OAAOJ,kBAAkB;AAC3B,CAAC;;AAED;AACA,OAAO,MAAMK,UAAU,GAAGA,CAAA,KAAc;EACtC,OAAOJ,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ let AsyncStorage;
4
+ let Geolocation;
5
+ let DeviceInfo;
6
+ function loadAsyncStorage() {
7
+ try {
8
+ const mod = require('@react-native-async-storage/async-storage');
9
+ return mod?.default ?? mod;
10
+ } catch {
11
+ return undefined;
12
+ }
13
+ }
14
+ function loadGeolocation() {
15
+ try {
16
+ const mod = require('@react-native-community/geolocation');
17
+ return mod?.default ?? mod;
18
+ } catch {
19
+ return undefined;
20
+ }
21
+ }
22
+ function loadDeviceInfo() {
23
+ try {
24
+ const mod = require('react-native-device-info');
25
+ return mod?.default ?? mod;
26
+ } catch {
27
+ return undefined;
28
+ }
29
+ }
30
+ export function resolveNativeDependencies() {
31
+ if (!AsyncStorage) AsyncStorage = loadAsyncStorage();
32
+ if (!Geolocation) Geolocation = loadGeolocation();
33
+ if (!DeviceInfo) DeviceInfo = loadDeviceInfo();
34
+ return {
35
+ AsyncStorage,
36
+ Geolocation,
37
+ DeviceInfo
38
+ };
39
+ }
40
+ export const SDKRequirements = {
41
+ get asyncStorage() {
42
+ return Boolean(resolveNativeDependencies().AsyncStorage);
43
+ },
44
+ get geolocation() {
45
+ return Boolean(resolveNativeDependencies().Geolocation);
46
+ },
47
+ get deviceInfo() {
48
+ return Boolean(resolveNativeDependencies().DeviceInfo);
49
+ }
50
+ };
51
+ //# sourceMappingURL=dependencyManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AsyncStorage","Geolocation","DeviceInfo","loadAsyncStorage","mod","require","default","undefined","loadGeolocation","loadDeviceInfo","resolveNativeDependencies","SDKRequirements","asyncStorage","Boolean","geolocation","deviceInfo"],"sourceRoot":"../../../src","sources":["utils/dependencyManager.ts"],"mappings":";;AA6BA,IAAIA,YAAgC;AACpC,IAAIC,WAA8B;AAClC,IAAIC,UAA4B;AAEhC,SAASC,gBAAgBA,CAAA,EAAuB;EAC9C,IAAI;IACF,MAAMC,GAAG,GAAGC,OAAO,CAAC,2CAA2C,CAAC;IAChE,OAAOD,GAAG,EAAEE,OAAO,IAAIF,GAAG;EAC5B,CAAC,CAAC,MAAM;IACN,OAAOG,SAAS;EAClB;AACF;AAEA,SAASC,eAAeA,CAAA,EAAsB;EAC5C,IAAI;IACF,MAAMJ,GAAG,GAAGC,OAAO,CAAC,qCAAqC,CAAC;IAC1D,OAAOD,GAAG,EAAEE,OAAO,IAAIF,GAAG;EAC5B,CAAC,CAAC,MAAM;IACN,OAAOG,SAAS;EAClB;AACF;AAEA,SAASE,cAAcA,CAAA,EAAqB;EAC1C,IAAI;IACF,MAAML,GAAG,GAAGC,OAAO,CAAC,0BAA0B,CAAC;IAC/C,OAAOD,GAAG,EAAEE,OAAO,IAAIF,GAAG;EAC5B,CAAC,CAAC,MAAM;IACN,OAAOG,SAAS;EAClB;AACF;AAEA,OAAO,SAASG,yBAAyBA,CAAA,EAAG;EAC1C,IAAI,CAACV,YAAY,EAAEA,YAAY,GAAGG,gBAAgB,CAAC,CAAC;EACpD,IAAI,CAACF,WAAW,EAAEA,WAAW,GAAGO,eAAe,CAAC,CAAC;EACjD,IAAI,CAACN,UAAU,EAAEA,UAAU,GAAGO,cAAc,CAAC,CAAC;EAC9C,OAAO;IACLT,YAAY;IACZC,WAAW;IACXC;EACF,CAAC;AACH;AAEA,OAAO,MAAMS,eAAe,GAAG;EAC7B,IAAIC,YAAYA,CAAA,EAAG;IACjB,OAAOC,OAAO,CAACH,yBAAyB,CAAC,CAAC,CAACV,YAAY,CAAC;EAC1D,CAAC;EACD,IAAIc,WAAWA,CAAA,EAAG;IAChB,OAAOD,OAAO,CAACH,yBAAyB,CAAC,CAAC,CAACT,WAAW,CAAC;EACzD,CAAC;EACD,IAAIc,UAAUA,CAAA,EAAG;IACf,OAAOF,OAAO,CAACH,yBAAyB,CAAC,CAAC,CAACR,UAAU,CAAC;EACxD;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import { NativeModules } from 'react-native';
4
+ import AesGcmCrypto from 'react-native-aes-gcm-crypto';
5
+
6
+ /**
7
+ * Ensure native module is installed & linked
8
+ */
9
+ function ensureAesAvailable() {
10
+ const nativeModule = NativeModules.AesGcmCrypto || NativeModules.RNAesGcmCrypto;
11
+ if (!AesGcmCrypto || !nativeModule) {
12
+ throw new Error('react-native-aes-gcm-crypto is not installed or linked correctly.\n\n' + 'Fix:\n' + '1. yarn add react-native-aes-gcm-crypto\n' + '2. cd ios && pod install\n' + '3. Rebuild the app\n');
13
+ }
14
+ if (typeof AesGcmCrypto.encrypt !== 'function') {
15
+ throw new Error('AES-GCM native functions unavailable. Please rebuild the app.');
16
+ }
17
+ }
18
+ function isBase64(input) {
19
+ return /^[A-Za-z0-9+/]+={0,2}$/.test(input);
20
+ }
21
+ function base64ByteLength(b64) {
22
+ const cleaned = b64.replace(/[=]+$/, '');
23
+ return Math.floor(cleaned.length * 3 / 4);
24
+ }
25
+ export async function aesEncrypt(text, key) {
26
+ ensureAesAvailable();
27
+ if (!isBase64(key) || base64ByteLength(key) !== 32) {
28
+ throw new Error('Encryption key must be base64-encoded 32-byte (256-bit) value');
29
+ }
30
+ try {
31
+ const {
32
+ iv,
33
+ tag,
34
+ content
35
+ } = await AesGcmCrypto.encrypt(text, false, key);
36
+ return base64Encrypt(`${iv}:${content}:${tag}`);
37
+ } catch (err) {
38
+ throw new Error(`AES encryption failed: ${err?.message || err}`);
39
+ }
40
+ }
41
+ export async function aesDecrypt(ciphertext, key) {
42
+ ensureAesAvailable();
43
+ if (!isBase64(key) || base64ByteLength(key) !== 32) {
44
+ throw new Error('Encryption key must be base64-encoded 32-byte (256-bit) value');
45
+ }
46
+ try {
47
+ const [iv = '', content = '', tag = ''] = ciphertext.split(':');
48
+ const decrypted = await AesGcmCrypto.decrypt(content, key, iv, tag, false);
49
+ return decrypted;
50
+ } catch (err) {
51
+ throw new Error(`AES decryption failed: ${err?.message || err}`);
52
+ }
53
+ }
54
+ export function base64Encrypt(plain) {
55
+ const utf8 = encodeURIComponent(plain).replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(parseInt(p1, 16)));
56
+ return btoa(utf8);
57
+ }
58
+ export function base64Decrypt(encoded) {
59
+ const binary = atob(encoded);
60
+ const utf8 = binary.split('').map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join('');
61
+ return decodeURIComponent(utf8);
62
+ }
63
+ //# sourceMappingURL=encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","AesGcmCrypto","ensureAesAvailable","nativeModule","RNAesGcmCrypto","Error","encrypt","isBase64","input","test","base64ByteLength","b64","cleaned","replace","Math","floor","length","aesEncrypt","text","key","iv","tag","content","base64Encrypt","err","message","aesDecrypt","ciphertext","split","decrypted","decrypt","plain","utf8","encodeURIComponent","_","p1","String","fromCharCode","parseInt","btoa","base64Decrypt","encoded","binary","atob","map","c","charCodeAt","toString","slice","join","decodeURIComponent"],"sourceRoot":"../../../src","sources":["utils/encryption.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export class SDKError extends Error {
4
+ constructor(message) {
5
+ super(message);
6
+ this.name = 'SDKError';
7
+ }
8
+ }
9
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDKError","Error","constructor","message","name"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":";;AAAA,OAAO,MAAMA,QAAQ,SAASC,KAAK,CAAC;EAClCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,UAAU;EACxB;AACF","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ export const logger = {
4
+ info: (...args) => {
5
+ console.info(...args);
6
+ },
7
+ warn: (...args) => {
8
+ console.warn(...args);
9
+ },
10
+ error: (...args) => {
11
+ console.error(...args);
12
+ }
13
+ };
14
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["logger","info","args","console","warn","error"],"sourceRoot":"../../../src","sources":["utils/logger.ts"],"mappings":";;AAAA,OAAO,MAAMA,MAAM,GAAG;EACpBC,IAAI,EAAEA,CAAC,GAAGC,IAAe,KAAK;IAC5BC,OAAO,CAACF,IAAI,CAAC,GAAGC,IAAI,CAAC;EACvB,CAAC;EACDE,IAAI,EAAEA,CAAC,GAAGF,IAAe,KAAK;IAC5BC,OAAO,CAACC,IAAI,CAAC,GAAGF,IAAI,CAAC;EACvB,CAAC;EACDG,KAAK,EAAEA,CAAC,GAAGH,IAAe,KAAK;IAC7BC,OAAO,CAACE,KAAK,CAAC,GAAGH,IAAI,CAAC;EACxB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ // React Native Core
4
+ import { Platform } from 'react-native';
5
+ export function isIOS() {
6
+ return Platform.OS === 'ios';
7
+ }
8
+ export function isAndroid() {
9
+ return Platform.OS === 'android';
10
+ }
11
+ export function platformVersion() {
12
+ return Number(Platform.Version);
13
+ }
14
+ //# sourceMappingURL=platformManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","isIOS","OS","isAndroid","platformVersion","Number","Version"],"sourceRoot":"../../../src","sources":["utils/platformManager.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,SAASC,KAAKA,CAAA,EAAY;EAC/B,OAAOD,QAAQ,CAACE,EAAE,KAAK,KAAK;AAC9B;AAEA,OAAO,SAASC,SAASA,CAAA,EAAY;EACnC,OAAOH,QAAQ,CAACE,EAAE,KAAK,SAAS;AAClC;AAEA,OAAO,SAASE,eAAeA,CAAA,EAAW;EACxC,OAAOC,MAAM,CAACL,QAAQ,CAACM,OAAO,CAAC;AACjC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ // React Native Core
4
+ import { Linking } from 'react-native';
5
+
6
+ // Platform / Environment helpers
7
+ import { isIOS } from "./platformManager.js";
8
+ export function isValidPhoneNumber(input) {
9
+ if (!input) return false;
10
+ return /^\+?[0-9]{8,15}$/.test(input);
11
+ }
12
+ export async function isMapAppAvailable() {
13
+ if (isIOS()) {
14
+ // Apple Maps scheme
15
+ return Linking.canOpenURL('maps:0,0?q=test');
16
+ }
17
+ // Android geo scheme
18
+ return Linking.canOpenURL('geo:0,0?q=0,0');
19
+ }
20
+ export async function isValidCoordinates(lat, lng) {
21
+ if (!Number.isFinite(lat) || !Number.isFinite(lng)) return false;
22
+ if (lat < -90 || lat > 90) return false;
23
+ if (lng < -180 || lng > 180) return false;
24
+ return true;
25
+ }
26
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Linking","isIOS","isValidPhoneNumber","input","test","isMapAppAvailable","canOpenURL","isValidCoordinates","lat","lng","Number","isFinite"],"sourceRoot":"../../../src","sources":["utils/validator.ts"],"mappings":";;AAAA;AACA,SAASA,OAAO,QAAQ,cAAc;;AAEtC;AACA,SAASC,KAAK,QAAQ,sBAAmB;AAEzC,OAAO,SAASC,kBAAkBA,CAACC,KAAa,EAAW;EACzD,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;EACxB,OAAO,kBAAkB,CAACC,IAAI,CAACD,KAAK,CAAC;AACvC;AAEA,OAAO,eAAeE,iBAAiBA,CAAA,EAAqB;EAC1D,IAAIJ,KAAK,CAAC,CAAC,EAAE;IACX;IACA,OAAOD,OAAO,CAACM,UAAU,CAAC,iBAAiB,CAAC;EAC9C;EACA;EACA,OAAON,OAAO,CAACM,UAAU,CAAC,eAAe,CAAC;AAC5C;AAEA,OAAO,eAAeC,kBAAkBA,CACtCC,GAAW,EACXC,GAAW,EACO;EAClB,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,GAAG,CAAC,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAE,OAAO,KAAK;EAChE,IAAID,GAAG,GAAG,CAAC,EAAE,IAAIA,GAAG,GAAG,EAAE,EAAE,OAAO,KAAK;EACvC,IAAIC,GAAG,GAAG,CAAC,GAAG,IAAIA,GAAG,GAAG,GAAG,EAAE,OAAO,KAAK;EACzC,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,11 @@
1
+ export declare function initializeSDK(providedKeys: {
2
+ apiKey: string;
3
+ encryptionKey: string;
4
+ pRefCode: string;
5
+ authMode: string;
6
+ navigationRef: any;
7
+ }): void;
8
+ export declare const SaversAppSDK: {
9
+ initialized: typeof initializeSDK;
10
+ };
11
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime.ts"],"names":[],"mappings":"AAiBA,wBAAgB,aAAa,CAAC,YAAY,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;CACpB,QAwDA;AAED,eAAO,MAAM,YAAY;;CAExB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type ApiResponse<T> = {
2
+ data?: T | null;
3
+ status?: boolean;
4
+ message?: string;
5
+ fromCache: boolean;
6
+ };
7
+ export declare function apiError(message?: string): ApiResponse<null>;
8
+ export declare function apiSuccess<T>(data: T, message?: string, fromCache?: boolean): ApiResponse<T>;
9
+ //# sourceMappingURL=apiResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiResponse.d.ts","sourceRoot":"","sources":["../../../../../src/data/models/apiResponse.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAO5D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,OAAO,GAClB,WAAW,CAAC,CAAC,CAAC,CAOhB"}
@@ -0,0 +1,24 @@
1
+ export type OnBoardingImage = {
2
+ id?: number | null;
3
+ url?: string | null;
4
+ };
5
+ export declare function onBoardingImageFromJson(json: Record<string, any>): OnBoardingImage;
6
+ export declare function onBoardingImageListFromJson(list: any[]): OnBoardingImage[];
7
+ export type OnBoardingThemeData = {
8
+ total?: number | null;
9
+ images?: OnBoardingImage[] | null;
10
+ };
11
+ export declare function onBoardingThemeFromJson(json: any): OnBoardingThemeData;
12
+ export type OnBoardingData = {
13
+ day?: OnBoardingThemeData | null;
14
+ night?: OnBoardingThemeData | null;
15
+ };
16
+ export declare function onBoardingDataFromJson(json: any): OnBoardingData;
17
+ export declare const images: (d?: OnBoardingData | null) => OnBoardingImage[] | null;
18
+ export declare const total: (d?: OnBoardingData | null) => number | null;
19
+ export declare const hasTotal: (d?: OnBoardingData | null) => boolean;
20
+ export declare const hasImages: (d?: OnBoardingData | null) => boolean;
21
+ export declare const imageCount: (d?: OnBoardingData | null) => number;
22
+ export declare const isValid: (d?: OnBoardingData | null) => boolean;
23
+ export declare const getImage: (d: OnBoardingData | null | undefined, index: number) => OnBoardingImage | null;
24
+ //# sourceMappingURL=onboardingModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingModel.d.ts","sourceRoot":"","sources":["../../../../../src/data/models/onboardingModel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,eAAe,CAKjB;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,eAAe,EAAE,CAU1E;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,mBAAmB,CActE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,CAsBhE;AAED,eAAO,MAAM,MAAM,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,eAAe,EAAE,GAAG,IAC3B,CAAC;AAC7C,eAAO,MAAM,KAAK,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,MAAM,GAAG,IACjB,CAAC;AAC3C,eAAO,MAAM,QAAQ,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,OAClC,CAAC;AACpB,eAAO,MAAM,SAAS,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,OACT,CAAC;AAC9C,eAAO,MAAM,UAAU,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,MAC/B,CAAC;AACzB,eAAO,MAAM,OAAO,GAAI,IAAI,cAAc,GAAG,IAAI,KAAG,OAEX,CAAC;AAC1C,eAAO,MAAM,QAAQ,GACnB,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,MAAM,KACZ,eAAe,GAAG,IAIpB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type TokenResponse = {
2
+ token?: string | null;
3
+ statusCode?: number | null;
4
+ error?: string | null;
5
+ messages?: string[] | null;
6
+ };
7
+ export declare function tokenResponseFromJson(json: any): TokenResponse;
8
+ export declare const token: (d?: TokenResponse | null) => string | null;
9
+ export declare const hasToken: (d?: TokenResponse | null) => boolean;
10
+ export declare const isValid: (d?: TokenResponse | null) => boolean;
11
+ export declare const status: (d?: TokenResponse | null) => number | null;
12
+ export declare const error: (d?: TokenResponse | null) => string | null;
13
+ export declare const messages: (d?: TokenResponse | null) => string[] | null;
14
+ export declare const hasError: (d?: TokenResponse | null) => boolean;
15
+ //# sourceMappingURL=tokenModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenModel.d.ts","sourceRoot":"","sources":["../../../../../src/data/models/tokenModel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAqB9D;AAED,eAAO,MAAM,KAAK,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,MAAM,GAAG,IACxC,CAAC;AACnB,eAAO,MAAM,QAAQ,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,OAChB,CAAC;AACrC,eAAO,MAAM,OAAO,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,OAAsB,CAAC;AAC1E,eAAO,MAAM,MAAM,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,MAAM,GAAG,IACpC,CAAC;AACxB,eAAO,MAAM,KAAK,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,MAAM,GAAG,IACxC,CAAC;AACnB,eAAO,MAAM,QAAQ,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,MAAM,EAAE,GAAG,IAC1C,CAAC;AACtB,eAAO,MAAM,QAAQ,GAAI,IAAI,aAAa,GAAG,IAAI,KAAG,OACqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare enum Environment {
2
+ production = "production",
3
+ staging = "staging"
4
+ }
5
+ export declare class ApiClient {
6
+ private static readonly baseUrls;
7
+ private baseUrl;
8
+ private interceptors;
9
+ constructor(environment?: Environment);
10
+ get(endpoint: string, params?: Record<string, any>): Promise<any>;
11
+ post(endpoint: string, data?: any, params?: Record<string, any>): Promise<any>;
12
+ put(endpoint: string, data?: any, params?: Record<string, any>): Promise<any>;
13
+ delete(endpoint: string, data?: any, params?: Record<string, any>): Promise<any>;
14
+ private request;
15
+ private buildUrl;
16
+ }
17
+ //# sourceMappingURL=apiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/apiClient.ts"],"names":[],"mappings":"AAYA,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAa;gBAErB,WAAW,GAAE,WAAoC;IAYvD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,GAAG,CAAC;IAIT,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,GAAG,CAAC;IAIT,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,GAAG,CAAC;YAID,OAAO;IAmErB,OAAO,CAAC,QAAQ;CAcjB"}
@@ -0,0 +1,5 @@
1
+ export declare const ApiEndpoints: {
2
+ readonly onboarding: "on-boarding/listings";
3
+ readonly get_nonce: "sys/sys/c/s/t";
4
+ };
5
+ //# sourceMappingURL=apiEndpoints.d.ts.map