@savers_app/react-native-sdk 1.1.0

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 (197) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +508 -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 +67 -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/network/apiClient.js +109 -0
  18. package/lib/module/data/network/apiClient.js.map +1 -0
  19. package/lib/module/data/network/apiEndpoints.js +6 -0
  20. package/lib/module/data/network/apiEndpoints.js.map +1 -0
  21. package/lib/module/data/network/apiExceptionHandler.js +16 -0
  22. package/lib/module/data/network/apiExceptionHandler.js.map +1 -0
  23. package/lib/module/data/network/apiRepository.js +70 -0
  24. package/lib/module/data/network/apiRepository.js.map +1 -0
  25. package/lib/module/data/network/apiService.js +66 -0
  26. package/lib/module/data/network/apiService.js.map +1 -0
  27. package/lib/module/data/network/dataTypeUtils.js +77 -0
  28. package/lib/module/data/network/dataTypeUtils.js.map +1 -0
  29. package/lib/module/data/network/interceptors/authInterceptor.js +69 -0
  30. package/lib/module/data/network/interceptors/authInterceptor.js.map +1 -0
  31. package/lib/module/data/network/interceptors/errorInterceptor.js +15 -0
  32. package/lib/module/data/network/interceptors/errorInterceptor.js.map +1 -0
  33. package/lib/module/data/network/interceptors/loggingInterceptor.js +17 -0
  34. package/lib/module/data/network/interceptors/loggingInterceptor.js.map +1 -0
  35. package/lib/module/data/network/interceptors/networkInterceptor.js +22 -0
  36. package/lib/module/data/network/interceptors/networkInterceptor.js.map +1 -0
  37. package/lib/module/data/network/interceptors/retryInterceptor.js +22 -0
  38. package/lib/module/data/network/interceptors/retryInterceptor.js.map +1 -0
  39. package/lib/module/data/storage/asyncStorageManager.js +50 -0
  40. package/lib/module/data/storage/asyncStorageManager.js.map +1 -0
  41. package/lib/module/data/storage/deviceIdManager.js +45 -0
  42. package/lib/module/data/storage/deviceIdManager.js.map +1 -0
  43. package/lib/module/data/storage/keysManager.js +70 -0
  44. package/lib/module/data/storage/keysManager.js.map +1 -0
  45. package/lib/module/data/storage/locationManager.js +30 -0
  46. package/lib/module/data/storage/locationManager.js.map +1 -0
  47. package/lib/module/data/storage/sessionManager.js +12 -0
  48. package/lib/module/data/storage/sessionManager.js.map +1 -0
  49. package/lib/module/data/storage/storageKeys.js +7 -0
  50. package/lib/module/data/storage/storageKeys.js.map +1 -0
  51. package/lib/module/data/storage/storageManager.js +76 -0
  52. package/lib/module/data/storage/storageManager.js.map +1 -0
  53. package/lib/module/index.js +20 -0
  54. package/lib/module/index.js.map +1 -0
  55. package/lib/module/package.json +1 -0
  56. package/lib/module/services/device/location.js +47 -0
  57. package/lib/module/services/device/location.js.map +1 -0
  58. package/lib/module/services/navigation/dialPad.js +29 -0
  59. package/lib/module/services/navigation/dialPad.js.map +1 -0
  60. package/lib/module/services/navigation/goBackNavigation.js +22 -0
  61. package/lib/module/services/navigation/goBackNavigation.js.map +1 -0
  62. package/lib/module/services/navigation/openBrowser.js +8 -0
  63. package/lib/module/services/navigation/openBrowser.js.map +1 -0
  64. package/lib/module/services/navigation/openMap.js +26 -0
  65. package/lib/module/services/navigation/openMap.js.map +1 -0
  66. package/lib/module/services/permissions/permissionManager.js +28 -0
  67. package/lib/module/services/permissions/permissionManager.js.map +1 -0
  68. package/lib/module/services/url/urlGenerator.js +90 -0
  69. package/lib/module/services/url/urlGenerator.js.map +1 -0
  70. package/lib/module/services/webview/messageHandler.js +69 -0
  71. package/lib/module/services/webview/messageHandler.js.map +1 -0
  72. package/lib/module/utils/dependencyManager.js +51 -0
  73. package/lib/module/utils/dependencyManager.js.map +1 -0
  74. package/lib/module/utils/encryption.js +43 -0
  75. package/lib/module/utils/encryption.js.map +1 -0
  76. package/lib/module/utils/errors.js +9 -0
  77. package/lib/module/utils/errors.js.map +1 -0
  78. package/lib/module/utils/logger.js +14 -0
  79. package/lib/module/utils/logger.js.map +1 -0
  80. package/lib/module/utils/platformManager.js +14 -0
  81. package/lib/module/utils/platformManager.js.map +1 -0
  82. package/lib/module/utils/validator.js +26 -0
  83. package/lib/module/utils/validator.js.map +1 -0
  84. package/lib/typescript/package.json +1 -0
  85. package/lib/typescript/src/core/runtime.d.ts +10 -0
  86. package/lib/typescript/src/core/runtime.d.ts.map +1 -0
  87. package/lib/typescript/src/data/models/apiResponse.d.ts +9 -0
  88. package/lib/typescript/src/data/models/apiResponse.d.ts.map +1 -0
  89. package/lib/typescript/src/data/models/onboardingModel.d.ts +24 -0
  90. package/lib/typescript/src/data/models/onboardingModel.d.ts.map +1 -0
  91. package/lib/typescript/src/data/network/apiClient.d.ts +17 -0
  92. package/lib/typescript/src/data/network/apiClient.d.ts.map +1 -0
  93. package/lib/typescript/src/data/network/apiEndpoints.d.ts +4 -0
  94. package/lib/typescript/src/data/network/apiEndpoints.d.ts.map +1 -0
  95. package/lib/typescript/src/data/network/apiExceptionHandler.d.ts +3 -0
  96. package/lib/typescript/src/data/network/apiExceptionHandler.d.ts.map +1 -0
  97. package/lib/typescript/src/data/network/apiRepository.d.ts +19 -0
  98. package/lib/typescript/src/data/network/apiRepository.d.ts.map +1 -0
  99. package/lib/typescript/src/data/network/apiService.d.ts +19 -0
  100. package/lib/typescript/src/data/network/apiService.d.ts.map +1 -0
  101. package/lib/typescript/src/data/network/dataTypeUtils.d.ts +10 -0
  102. package/lib/typescript/src/data/network/dataTypeUtils.d.ts.map +1 -0
  103. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts +13 -0
  104. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts.map +1 -0
  105. package/lib/typescript/src/data/network/interceptors/errorInterceptor.d.ts +4 -0
  106. package/lib/typescript/src/data/network/interceptors/errorInterceptor.d.ts.map +1 -0
  107. package/lib/typescript/src/data/network/interceptors/loggingInterceptor.d.ts +5 -0
  108. package/lib/typescript/src/data/network/interceptors/loggingInterceptor.d.ts.map +1 -0
  109. package/lib/typescript/src/data/network/interceptors/networkInterceptor.d.ts +4 -0
  110. package/lib/typescript/src/data/network/interceptors/networkInterceptor.d.ts.map +1 -0
  111. package/lib/typescript/src/data/network/interceptors/retryInterceptor.d.ts +7 -0
  112. package/lib/typescript/src/data/network/interceptors/retryInterceptor.d.ts.map +1 -0
  113. package/lib/typescript/src/data/storage/asyncStorageManager.d.ts +13 -0
  114. package/lib/typescript/src/data/storage/asyncStorageManager.d.ts.map +1 -0
  115. package/lib/typescript/src/data/storage/deviceIdManager.d.ts +2 -0
  116. package/lib/typescript/src/data/storage/deviceIdManager.d.ts.map +1 -0
  117. package/lib/typescript/src/data/storage/keysManager.d.ts +29 -0
  118. package/lib/typescript/src/data/storage/keysManager.d.ts.map +1 -0
  119. package/lib/typescript/src/data/storage/locationManager.d.ts +21 -0
  120. package/lib/typescript/src/data/storage/locationManager.d.ts.map +1 -0
  121. package/lib/typescript/src/data/storage/sessionManager.d.ts +3 -0
  122. package/lib/typescript/src/data/storage/sessionManager.d.ts.map +1 -0
  123. package/lib/typescript/src/data/storage/storageKeys.d.ts +5 -0
  124. package/lib/typescript/src/data/storage/storageKeys.d.ts.map +1 -0
  125. package/lib/typescript/src/data/storage/storageManager.d.ts +16 -0
  126. package/lib/typescript/src/data/storage/storageManager.d.ts.map +1 -0
  127. package/lib/typescript/src/index.d.ts +18 -0
  128. package/lib/typescript/src/index.d.ts.map +1 -0
  129. package/lib/typescript/src/services/device/location.d.ts +8 -0
  130. package/lib/typescript/src/services/device/location.d.ts.map +1 -0
  131. package/lib/typescript/src/services/navigation/dialPad.d.ts +3 -0
  132. package/lib/typescript/src/services/navigation/dialPad.d.ts.map +1 -0
  133. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts +4 -0
  134. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts.map +1 -0
  135. package/lib/typescript/src/services/navigation/openBrowser.d.ts +2 -0
  136. package/lib/typescript/src/services/navigation/openBrowser.d.ts.map +1 -0
  137. package/lib/typescript/src/services/navigation/openMap.d.ts +2 -0
  138. package/lib/typescript/src/services/navigation/openMap.d.ts.map +1 -0
  139. package/lib/typescript/src/services/permissions/permissionManager.d.ts +4 -0
  140. package/lib/typescript/src/services/permissions/permissionManager.d.ts.map +1 -0
  141. package/lib/typescript/src/services/url/urlGenerator.d.ts +43 -0
  142. package/lib/typescript/src/services/url/urlGenerator.d.ts.map +1 -0
  143. package/lib/typescript/src/services/webview/messageHandler.d.ts +2 -0
  144. package/lib/typescript/src/services/webview/messageHandler.d.ts.map +1 -0
  145. package/lib/typescript/src/utils/dependencyManager.d.ts +31 -0
  146. package/lib/typescript/src/utils/dependencyManager.d.ts.map +1 -0
  147. package/lib/typescript/src/utils/encryption.d.ts +5 -0
  148. package/lib/typescript/src/utils/encryption.d.ts.map +1 -0
  149. package/lib/typescript/src/utils/errors.d.ts +4 -0
  150. package/lib/typescript/src/utils/errors.d.ts.map +1 -0
  151. package/lib/typescript/src/utils/logger.d.ts +6 -0
  152. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  153. package/lib/typescript/src/utils/platformManager.d.ts +4 -0
  154. package/lib/typescript/src/utils/platformManager.d.ts.map +1 -0
  155. package/lib/typescript/src/utils/validator.d.ts +4 -0
  156. package/lib/typescript/src/utils/validator.d.ts.map +1 -0
  157. package/package.json +176 -0
  158. package/src/@types/@react-native-async-storage__async-storage.d.ts +7 -0
  159. package/src/@types/@react-native-community__geolocation.d.ts +18 -0
  160. package/src/@types/react-native-aes-gcm-crypto.d.ts +22 -0
  161. package/src/@types/react-native-device-info.d.ts +3 -0
  162. package/src/core/runtime.ts +80 -0
  163. package/src/data/models/apiResponse.ts +28 -0
  164. package/src/data/models/onboardingModel.ts +99 -0
  165. package/src/data/network/apiClient.ts +148 -0
  166. package/src/data/network/apiEndpoints.ts +3 -0
  167. package/src/data/network/apiExceptionHandler.ts +16 -0
  168. package/src/data/network/apiRepository.ts +106 -0
  169. package/src/data/network/apiService.ts +72 -0
  170. package/src/data/network/dataTypeUtils.ts +78 -0
  171. package/src/data/network/interceptors/authInterceptor.ts +77 -0
  172. package/src/data/network/interceptors/errorInterceptor.ts +13 -0
  173. package/src/data/network/interceptors/loggingInterceptor.ts +16 -0
  174. package/src/data/network/interceptors/networkInterceptor.ts +20 -0
  175. package/src/data/network/interceptors/retryInterceptor.ts +24 -0
  176. package/src/data/storage/asyncStorageManager.ts +56 -0
  177. package/src/data/storage/deviceIdManager.ts +46 -0
  178. package/src/data/storage/keysManager.ts +89 -0
  179. package/src/data/storage/locationManager.ts +39 -0
  180. package/src/data/storage/sessionManager.ts +11 -0
  181. package/src/data/storage/storageKeys.ts +4 -0
  182. package/src/data/storage/storageManager.ts +83 -0
  183. package/src/index.tsx +17 -0
  184. package/src/services/device/location.ts +51 -0
  185. package/src/services/navigation/dialPad.ts +39 -0
  186. package/src/services/navigation/goBackNavigation.ts +22 -0
  187. package/src/services/navigation/openBrowser.ts +6 -0
  188. package/src/services/navigation/openMap.ts +39 -0
  189. package/src/services/permissions/permissionManager.ts +33 -0
  190. package/src/services/url/urlGenerator.ts +132 -0
  191. package/src/services/webview/messageHandler.ts +48 -0
  192. package/src/utils/dependencyManager.ts +82 -0
  193. package/src/utils/encryption.ts +58 -0
  194. package/src/utils/errors.ts +6 -0
  195. package/src/utils/logger.ts +11 -0
  196. package/src/utils/platformManager.ts +14 -0
  197. package/src/utils/validator.ts +29 -0
@@ -0,0 +1,90 @@
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
+ export function validateInput(input) {
13
+ const errors = [];
14
+ const auth = input.authType ?? 'PHONE';
15
+ if (!input.profile) errors.push('profile is mandatory');
16
+ if (!input.profile?.userId) errors.push('userId is mandatory');
17
+ if (!input.profile?.email) errors.push('email is mandatory');
18
+ const pv = input.profile?.pv;
19
+ const ev = input.profile?.ev;
20
+ if (typeof pv !== 'undefined' && pv !== '0' && pv !== '1') {
21
+ errors.push('pv must be 0 or 1');
22
+ }
23
+ if (typeof ev !== 'undefined' && ev !== '0' && ev !== '1') {
24
+ errors.push('ev must be 0 or 1');
25
+ }
26
+ if (!auth) errors.push('authType is mandatory');
27
+ if (auth === 'USERNAME' && !input.profile?.username) {
28
+ errors.push('username is mandatory for USERNAME authType');
29
+ }
30
+ if (auth === 'PHONE' && !input.profile?.phone) {
31
+ errors.push('phone is mandatory for PHONE authType');
32
+ }
33
+ const screenName = input.screen?.name;
34
+ if (screenName === 'OfrDetails') {
35
+ const attrs = input.screen?.attributes ?? [];
36
+ if (!attrs.length) {
37
+ errors.push('screen.attributes is mandatory when screen.name is OfrDetails');
38
+ }
39
+ }
40
+ return {
41
+ ok: errors.length === 0,
42
+ errors
43
+ };
44
+ }
45
+ export async function generateUrl(input) {
46
+ const deviceId = await getDeviceId();
47
+ const storedLocation = await getLocationCoordinates();
48
+ const sessionId = await getSessionId();
49
+ const deviceInfo = storedLocation != null ? {
50
+ dId: deviceId,
51
+ location: storedLocation
52
+ } : {
53
+ dId: deviceId
54
+ };
55
+ const normalized = {
56
+ profile: input.profile,
57
+ screen: input.screen,
58
+ authType: input.authType ?? 'PHONE',
59
+ sessionId: sessionId ?? '',
60
+ deviceInfo
61
+ };
62
+ const validation = validateInput({
63
+ ...normalized,
64
+ deviceInfo: normalized.deviceInfo
65
+ });
66
+ if (!validation.ok) {
67
+ throw new SDKError(`Validation failed: ${validation.errors.join(', ')}`);
68
+ }
69
+ const payload = {
70
+ screen: normalized.screen ?? {
71
+ name: 'Explore'
72
+ },
73
+ profile: normalized.profile,
74
+ authType: normalized.authType,
75
+ deviceInfo: normalized.deviceInfo,
76
+ sessionId: normalized.sessionId
77
+ };
78
+ const json = JSON.stringify(payload);
79
+ const key = await getEncryptionKey();
80
+ if (!key || key === '-') {
81
+ throw new SDKError('Encryption key is mandatory. Initialize SDK with encryptionKey.');
82
+ }
83
+ const encoded = await aesEncrypt(json, key);
84
+ const programCode = await getPRefCode();
85
+ if (!programCode || programCode === '-') {
86
+ throw new SDKError('pRefCode is mandatory. Initialize SDK with pRefCode.');
87
+ }
88
+ return `https://m.saversapp.com/?pRefCode=${encodeURIComponent(programCode)}&qP=${encodeURIComponent(encoded)}`;
89
+ }
90
+ //# sourceMappingURL=urlGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDKError","aesEncrypt","getDeviceId","getSessionId","getLocationCoordinates","getEncryptionKey","getPRefCode","validateInput","input","errors","auth","authType","profile","push","userId","email","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,69 @@
1
+ "use strict";
2
+
3
+ // Screens / SDKs / External packages
4
+ import { openMap, openDialPad, openBrowser, closeCurrentScreenSafe, setSessionId } from '@saversapp/react-native-sdk';
5
+ export function handleWebMessage(raw, postBack) {
6
+ let msg;
7
+ try {
8
+ msg = JSON.parse(raw);
9
+ } catch {
10
+ return;
11
+ }
12
+ const action = msg?.action;
13
+ const payload = msg?.payload;
14
+ const reply = data => postBack?.(data);
15
+ (async () => {
16
+ try {
17
+ if (action === 'OPEN_MAP') {
18
+ const {
19
+ lat,
20
+ lng,
21
+ label
22
+ } = payload || {};
23
+ await openMap(lat, lng, label);
24
+ reply({
25
+ ok: true,
26
+ action
27
+ });
28
+ } else if (action === 'SHOW_DIAL_PAD') {
29
+ await openDialPad(payload?.number);
30
+ reply({
31
+ ok: true,
32
+ action
33
+ });
34
+ } else if (action === 'MERCHANT_PORTAL_REDIRECT') {
35
+ await openBrowser(payload?.url);
36
+ reply({
37
+ ok: true,
38
+ action
39
+ });
40
+ } else if (action === 'SESSION_ID') {
41
+ const {
42
+ sessionId
43
+ } = payload || {};
44
+ const id = await setSessionId(sessionId);
45
+ reply({
46
+ ok: true,
47
+ action,
48
+ sessionId: id
49
+ });
50
+ } else if (action === 'END_SESSION') {
51
+ closeCurrentScreenSafe();
52
+ // reply({ ok: true, action, closed });
53
+ } else {
54
+ reply({
55
+ ok: false,
56
+ error: 'UNKNOWN_ACTION',
57
+ action
58
+ });
59
+ }
60
+ } catch (e) {
61
+ reply({
62
+ ok: false,
63
+ error: e?.message ?? String(e),
64
+ action
65
+ });
66
+ }
67
+ })();
68
+ }
69
+ //# 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;AACA,SACEA,OAAO,EACPC,WAAW,EACXC,WAAW,EACXC,sBAAsB,EACtBC,YAAY,QACP,6BAA6B;AAEpC,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,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,43 @@
1
+ "use strict";
2
+
3
+ // Third-party libraries
4
+ import AesGcmCrypto from 'react-native-aes-gcm-crypto';
5
+ function isBase64(input) {
6
+ return /^[A-Za-z0-9+/]+={0,2}$/.test(input);
7
+ }
8
+ function base64ByteLength(b64) {
9
+ const cleaned = b64.replace(/=+$/, '');
10
+ return Math.floor(cleaned.length * 3 / 4);
11
+ }
12
+ export async function aesEncrypt(text, key) {
13
+ if (!isBase64(key) || base64ByteLength(key) !== 32) {
14
+ throw new Error('Encryption key must be base64-encoded 32-byte (256-bit) value');
15
+ }
16
+ const {
17
+ iv,
18
+ tag,
19
+ content
20
+ } = await AesGcmCrypto.encrypt(text, false, key);
21
+ return base64Encrypt(`${iv}:${content}:${tag}`);
22
+ }
23
+ export async function aesDecrypt(ciphertext, key) {
24
+ if (!isBase64(key) || base64ByteLength(key) !== 32) {
25
+ throw new Error('Encryption key must be base64-encoded 32-byte (256-bit) value');
26
+ }
27
+ const parts = ciphertext.split(':');
28
+ const iv = parts[0] ?? '';
29
+ const content = parts[1] ?? '';
30
+ const tag = parts[2] ?? '';
31
+ const decrypted = await AesGcmCrypto.decrypt(content, key, iv, tag, false);
32
+ return decrypted;
33
+ }
34
+ export function base64Encrypt(plain) {
35
+ const utf8 = encodeURIComponent(plain).replace(/%([0-9A-F]{2})/g, (_, p1) => String.fromCharCode(parseInt(p1, 16)));
36
+ return btoa(utf8);
37
+ }
38
+ export function base64Decrypt(encoded) {
39
+ const binary = atob(encoded);
40
+ const utf8 = binary.split('').map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join('');
41
+ return decodeURIComponent(utf8);
42
+ }
43
+ //# sourceMappingURL=encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AesGcmCrypto","isBase64","input","test","base64ByteLength","b64","cleaned","replace","Math","floor","length","aesEncrypt","text","key","Error","iv","tag","content","encrypt","base64Encrypt","aesDecrypt","ciphertext","parts","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":";;AAAA;AACA,OAAOA,YAAY,MAAM,6BAA6B;AAEtD,SAASC,QAAQA,CAACC,KAAa,EAAW;EACxC,OAAO,wBAAwB,CAACC,IAAI,CAACD,KAAK,CAAC;AAC7C;AAEA,SAASE,gBAAgBA,CAACC,GAAW,EAAU;EAC7C,MAAMC,OAAO,GAAGD,GAAG,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACtC,OAAOC,IAAI,CAACC,KAAK,CAAEH,OAAO,CAACI,MAAM,GAAG,CAAC,GAAI,CAAC,CAAC;AAC7C;AAEA,OAAO,eAAeC,UAAUA,CAACC,IAAY,EAAEC,GAAW,EAAmB;EAC3E,IAAI,CAACZ,QAAQ,CAACY,GAAG,CAAC,IAAIT,gBAAgB,CAACS,GAAG,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,+DACF,CAAC;EACH;EACA,MAAM;IAAEC,EAAE;IAAEC,GAAG;IAAEC;EAAQ,CAAC,GAAG,MAAMjB,YAAY,CAACkB,OAAO,CAACN,IAAI,EAAE,KAAK,EAAEC,GAAG,CAAC;EACzE,OAAOM,aAAa,CAAC,GAAGJ,EAAE,IAAIE,OAAO,IAAID,GAAG,EAAE,CAAC;AACjD;AAEA,OAAO,eAAeI,UAAUA,CAC9BC,UAAkB,EAClBR,GAAW,EACM;EACjB,IAAI,CAACZ,QAAQ,CAACY,GAAG,CAAC,IAAIT,gBAAgB,CAACS,GAAG,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,+DACF,CAAC;EACH;EACA,MAAMQ,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,GAAG,CAAC;EACnC,MAAMR,EAAE,GAAGO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;EACzB,MAAML,OAAO,GAAGK,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;EAC9B,MAAMN,GAAG,GAAGM,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;EAC1B,MAAME,SAAS,GAAG,MAAMxB,YAAY,CAACyB,OAAO,CAACR,OAAO,EAAEJ,GAAG,EAAEE,EAAE,EAAEC,GAAG,EAAE,KAAK,CAAC;EAC1E,OAAOQ,SAAS;AAClB;AAKA,OAAO,SAASL,aAAaA,CAACO,KAAa,EAAU;EACnD,MAAMC,IAAI,GAAGC,kBAAkB,CAACF,KAAK,CAAC,CAACnB,OAAO,CAC5C,iBAAiB,EACjB,CAACsB,CAAC,EAAEC,EAAU,KAAKC,MAAM,CAACC,YAAY,CAACC,QAAQ,CAACH,EAAE,EAAE,EAAE,CAAC,CACzD,CAAC;EACD,OAAOI,IAAI,CAACP,IAAI,CAAC;AACnB;AAEA,OAAO,SAASQ,aAAaA,CAACC,OAAe,EAAU;EACrD,MAAMC,MAAM,GAAGC,IAAI,CAACF,OAAO,CAAC;EAC5B,MAAMT,IAAI,GAAGU,MAAM,CAChBd,KAAK,CAAC,EAAE,CAAC,CACTgB,GAAG,CAAEC,CAAC,IAAK,GAAG,GAAG,CAAC,IAAI,GAAGA,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,EAAEC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACjEC,IAAI,CAAC,EAAE,CAAC;EACX,OAAOC,kBAAkB,CAAClB,IAAI,CAAC;AACjC","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,10 @@
1
+ export declare function initializeSDK(providedKeys: {
2
+ apiKey: string;
3
+ encryptionKey: string;
4
+ pRefCode: string;
5
+ authMode: string;
6
+ }): void;
7
+ export declare const SaversAppSDK: {
8
+ initialized: typeof initializeSDK;
9
+ };
10
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/core/runtime.ts"],"names":[],"mappings":"AAgBA,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;CAClB,QAsDA;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,CAgBtE;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,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,4 @@
1
+ export declare const ApiEndpoints: {
2
+ readonly onboarding: "/on-boarding/listings";
3
+ };
4
+ //# sourceMappingURL=apiEndpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiEndpoints.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/apiEndpoints.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;CAEf,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function getErrorMessage(status?: number, type?: string): string;
2
+ export declare function noInternetError(): string;
3
+ //# sourceMappingURL=apiExceptionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiExceptionHandler.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/apiExceptionHandler.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAWtE;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -0,0 +1,19 @@
1
+ import { ApiClient } from './apiClient';
2
+ import type { ApiResponse } from '../models/apiResponse';
3
+ export declare enum CacheStrategy {
4
+ cache = "cache",
5
+ cacheOnly = "cacheOnly",
6
+ network = "network",
7
+ normal = "normal"
8
+ }
9
+ export declare class ApiRepository {
10
+ private readonly apiClient;
11
+ constructor(apiClient: ApiClient);
12
+ getData<T>(endpoint: string, opts?: {
13
+ cacheStrategy?: CacheStrategy;
14
+ params?: Record<string, any>;
15
+ storageKeyPrefix?: string;
16
+ }): AsyncGenerator<ApiResponse<T | null>, void, unknown>;
17
+ private fetchFromNetwork;
18
+ }
19
+ //# sourceMappingURL=apiRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiRepository.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/apiRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AASzD,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,SAAS,EAAE,SAAS;IAIzB,OAAO,CAAC,CAAC,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QACL,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACA,cAAc,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;YAsDzC,gBAAgB;CAiB/B"}
@@ -0,0 +1,19 @@
1
+ import type { ApiResponse } from '../models/apiResponse';
2
+ import { type OnBoardingData } from '../models/onboardingModel';
3
+ import { CacheStrategy } from './apiRepository';
4
+ import { Environment } from './apiClient';
5
+ export declare class ApiService {
6
+ private repository;
7
+ constructor(environment?: Environment);
8
+ /**
9
+ * Get onboarding data using GenericRepository with stream
10
+ */
11
+ getOnBoarding(opts?: {
12
+ cacheStrategy?: CacheStrategy;
13
+ }): AsyncGenerator<ApiResponse<OnBoardingData | null>, void, unknown>;
14
+ /**
15
+ * Clear all cached data
16
+ */
17
+ clearCache(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=apiService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiService.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/apiService.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAErD,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAgB;gBAEtB,WAAW,GAAE,WAAoC;IAM7D;;OAEG;IACI,aAAa,CAAC,IAAI,CAAC,EAAE;QAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,cAAc,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IAgCrE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -0,0 +1,10 @@
1
+ export declare function parseToString(value: any): string | null;
2
+ export declare function parseToInt(value: any): number | null;
3
+ export declare function parseToDouble(value: any): number | null;
4
+ export declare function parseToBool(value: any): boolean | null;
5
+ export declare function parseToMap(value: any): Record<string, any> | null;
6
+ export declare function parseToList(value: any): any[] | null;
7
+ export declare function parseToStringList(value: any): string[] | null;
8
+ export declare function isNullOrEmpty(value: any): boolean;
9
+ export declare function safeParseForModel(data: any): any;
10
+ //# sourceMappingURL=dataTypeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTypeUtils.d.ts","sourceRoot":"","sources":["../../../../../src/data/network/dataTypeUtils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,GAAG,IAAI,CAUtD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAMjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAGpD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,CAQ7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAMjD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAMhD"}
@@ -0,0 +1,13 @@
1
+ export declare class AuthInterceptor {
2
+ private static readonly oauthSubIdKey;
3
+ private static readonly bodyMethods;
4
+ private static readonly excludedApis;
5
+ onRequest(options: any): Promise<any>;
6
+ private addAuthenticationData;
7
+ private addToQueryParameters;
8
+ private addToQueryParametersAndBody;
9
+ private addToRequestBody;
10
+ private shouldExcludeApi;
11
+ private getCurrentUserId;
12
+ }
13
+ //# sourceMappingURL=authInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authInterceptor.d.ts","sourceRoot":"","sources":["../../../../../../src/data/network/interceptors/authInterceptor.ts"],"names":[],"mappings":"AAKA,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAgB;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAqC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAEnD,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB3C,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;YAUV,gBAAgB;CAW/B"}
@@ -0,0 +1,4 @@
1
+ export declare class ErrorInterceptor {
2
+ onError(err: any, handler: any): void;
3
+ }
4
+ //# sourceMappingURL=errorInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorInterceptor.d.ts","sourceRoot":"","sources":["../../../../../../src/data/network/interceptors/errorInterceptor.ts"],"names":[],"mappings":"AAGA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;CAQ/B"}
@@ -0,0 +1,5 @@
1
+ export declare class LoggingInterceptor {
2
+ onRequest(options: any): any;
3
+ onResponse(response: any): any;
4
+ }
5
+ //# sourceMappingURL=loggingInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggingInterceptor.d.ts","sourceRoot":"","sources":["../../../../../../src/data/network/interceptors/loggingInterceptor.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB;IAC7B,SAAS,CAAC,OAAO,EAAE,GAAG;IAOtB,UAAU,CAAC,QAAQ,EAAE,GAAG;CAIzB"}
@@ -0,0 +1,4 @@
1
+ export declare class NetworkInterceptor {
2
+ onRequest(options: any): Promise<any>;
3
+ }
4
+ //# sourceMappingURL=networkInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkInterceptor.d.ts","sourceRoot":"","sources":["../../../../../../src/data/network/interceptors/networkInterceptor.ts"],"names":[],"mappings":"AAMA,qBAAa,kBAAkB;IACvB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAY5C"}
@@ -0,0 +1,7 @@
1
+ export declare class RetryInterceptor {
2
+ private readonly retries;
3
+ constructor(retries?: number);
4
+ onError(err: any, handler: any): Promise<any>;
5
+ private shouldRetry;
6
+ }
7
+ //# sourceMappingURL=retryInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryInterceptor.d.ts","sourceRoot":"","sources":["../../../../../../src/data/network/interceptors/retryInterceptor.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,MAAU;IAIzB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAWnD,OAAO,CAAC,WAAW;CAKpB"}
@@ -0,0 +1,13 @@
1
+ export declare function storageGet(key: string): Promise<string | null>;
2
+ export declare function storageSet(key: string, value: string): Promise<void>;
3
+ export declare function storageRemove(key: string): Promise<void>;
4
+ export declare function storageGetJSON<T>(key: string): Promise<T | undefined>;
5
+ export declare function storageSetJSON(key: string, value: unknown): Promise<void>;
6
+ export declare function createStorageNamespace(ns: string): {
7
+ get: (key: string) => Promise<string | null>;
8
+ set: (key: string, value: string) => Promise<void>;
9
+ remove: (key: string) => Promise<void>;
10
+ getJSON: <T>(key: string) => Promise<T | undefined>;
11
+ setJSON: (key: string, value: unknown) => Promise<void>;
12
+ };
13
+ //# sourceMappingURL=asyncStorageManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncStorageManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/asyncStorageManager.ts"],"names":[],"mappings":"AASA,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGpE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAQ3E;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM;eAGlC,MAAM;eACN,MAAM,SAAS,MAAM;kBAClB,MAAM;cACV,CAAC,OAAO,MAAM;mBACT,MAAM,SAAS,OAAO;EAGxC"}
@@ -0,0 +1,2 @@
1
+ export declare function getDeviceId(): Promise<string>;
2
+ //# sourceMappingURL=deviceIdManager.d.ts.map