@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 @@
1
+ {"version":3,"file":"deviceIdManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/deviceIdManager.ts"],"names":[],"mappings":"AA0BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBnD"}
@@ -0,0 +1,29 @@
1
+ declare class KeysManager {
2
+ private apiKey;
3
+ private encryptionKey;
4
+ private pRefCode;
5
+ private authMode;
6
+ setApiKey(apiKey: string): void;
7
+ getApiKey(): string | null;
8
+ setEncryptionKey(encryptionKey: string): void;
9
+ getEncryptionKey(): string | null;
10
+ setPRefCode(pRefCode: string): void;
11
+ getPRefCode(): string | null;
12
+ setAuthMode(authMode: string): void;
13
+ getAuthMode(): string | null;
14
+ }
15
+ export declare const keysManager: KeysManager;
16
+ export declare const setApiKey: (apiKey: string) => Promise<void>;
17
+ export declare function getApiKey(): Promise<string>;
18
+ export declare const setEncryptionKey: (encryptionKey: string) => Promise<void>;
19
+ export declare function getEncryptionKey(): Promise<string>;
20
+ export declare function getApiKeySync(): string | null;
21
+ export declare function getEncryptionKeySync(): string | null;
22
+ export declare const setPRefCode: (pRefCode: string) => Promise<void>;
23
+ export declare function getPRefCode(): Promise<string>;
24
+ export declare function getPRefCodeSync(): string | null;
25
+ export declare const setAuthMode: (authMode: string) => Promise<void>;
26
+ export declare function getAuthMode(): Promise<string>;
27
+ export declare function getAuthModeSync(): string | null;
28
+ export {};
29
+ //# sourceMappingURL=keysManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keysManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/keysManager.ts"],"names":[],"mappings":"AAAA,cAAM,WAAW;IACf,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI7C,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,WAAW,IAAI,MAAM,GAAG,IAAI;CAG7B;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C,eAAO,MAAM,SAAS,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAC;AAEF,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjD;AAED,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,KACpB,OAAO,CAAC,IAAI,CAEd,CAAC;AACF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AAED,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAEhE,CAAC;AAEF,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnD;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAEhE,CAAC;AAEF,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnD;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C"}
@@ -0,0 +1,21 @@
1
+ declare class LocationManager {
2
+ private lat;
3
+ private lng;
4
+ setCoordinates(lat: number, lng: number): void;
5
+ getCoordinates(): {
6
+ lat: number;
7
+ lng: number;
8
+ } | null;
9
+ }
10
+ export declare const locationManager: LocationManager;
11
+ export declare const setLocationCoordinates: (lat: number, lng: number) => Promise<void>;
12
+ export declare function getLocationCoordinates(): Promise<{
13
+ lat: number;
14
+ lng: number;
15
+ } | null>;
16
+ export declare function getLocationCoordinatesSync(): {
17
+ lat: number;
18
+ lng: number;
19
+ } | null;
20
+ export {};
21
+ //# sourceMappingURL=locationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locationManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/locationManager.ts"],"names":[],"mappings":"AAAA,cAAM,eAAe;IACnB,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,GAAG,CAAuB;IAElC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9C,cAAc,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAMtD;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAErD,eAAO,MAAM,sBAAsB,GACjC,KAAK,MAAM,EACX,KAAK,MAAM,KACV,OAAO,CAAC,IAAI,CAEd,CAAC;AAEF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAAC,CAER;AAED,wBAAgB,0BAA0B,IAAI;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAEP"}
@@ -0,0 +1,3 @@
1
+ export declare const setSessionId: (sessionId: string) => Promise<void>;
2
+ export declare const getSessionId: () => Promise<string | null>;
3
+ //# sourceMappingURL=sessionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/sessionManager.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,GAAU,WAAW,MAAM,kBAEnD,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAE1D,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const SAVERS_API_KEY = "SAVERS_API_KEY";
2
+ export declare const SAVERS_ENCRYPTION_KEY = "SAVERS_ENCRYPTION_KEY";
3
+ export declare const SDK_SESSION_ID = "SDK_SESSION_ID";
4
+ export declare const SDK_DEVICE_ID = "SDK_DEVICE_ID";
5
+ //# sourceMappingURL=storageKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageKeys.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/storageKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ export declare const StorageKeys: {
2
+ userId: string;
3
+ isOnboardingSkiped: string;
4
+ isAuthSkiped: string;
5
+ authSkippedTimestamp: string;
6
+ userSelectedLocation: string;
7
+ browsingMode: string;
8
+ };
9
+ export declare function save(key: string, value: any): Promise<void>;
10
+ export declare function get(key: string): Promise<any>;
11
+ export declare function clear(key: string): Promise<void>;
12
+ export declare function clearAll(): Promise<void>;
13
+ export declare function saveAuthSkippedTime(): Promise<void>;
14
+ export declare function getAuthSkippedTime(): Promise<Date | null>;
15
+ export declare function clearAuthSkippedTime(): Promise<void>;
16
+ //# sourceMappingURL=storageManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageManager.d.ts","sourceRoot":"","sources":["../../../../../src/data/storage/storageManager.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAajE;AAED,wBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAYnD;AAED,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtD;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ9C;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAQ/D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D"}
@@ -0,0 +1,18 @@
1
+ export * from './services/navigation/openMap';
2
+ export * from './services/navigation/goBackNavigation';
3
+ export * from './services/permissions/permissionManager';
4
+ export * from './utils/platformManager';
5
+ export * from './utils/errors';
6
+ export * from './utils/logger';
7
+ export * from './utils/validator';
8
+ export * from './services/webview/messageHandler';
9
+ export * from './data/storage/deviceIdManager';
10
+ export * from './services/navigation/dialPad';
11
+ export * from './services/navigation/openBrowser';
12
+ export * from './data/storage/sessionManager';
13
+ export * from './services/url/urlGenerator';
14
+ export * from './data/network/apiService';
15
+ export * from './core/runtime';
16
+ export * from './data/storage/keysManager';
17
+ export * from './data/storage/locationManager';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type DeviceLocation = {
2
+ lat: number;
3
+ lng: number;
4
+ };
5
+ export declare function setLocationProvider(provider: () => Promise<DeviceLocation | undefined>): void;
6
+ export declare const fetchLocation: () => Promise<DeviceLocation>;
7
+ export declare function getDeviceLocation(): Promise<DeviceLocation | undefined>;
8
+ //# sourceMappingURL=location.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../../../src/services/device/location.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAI1D,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,GAClD,IAAI,CAEN;AAED,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,cAAc,CAe5D,CAAC;AAEF,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAgB7E"}
@@ -0,0 +1,3 @@
1
+ export declare const callPhone: (phone: string) => Promise<void>;
2
+ export declare function openDialPad(phone?: string): Promise<void>;
3
+ //# sourceMappingURL=dialPad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialPad.d.ts","sourceRoot":"","sources":["../../../../../src/services/navigation/dialPad.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAe3D,CAAC;AAEF,wBAAsB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/D"}
@@ -0,0 +1,4 @@
1
+ export declare const navigationRef: import("@react-navigation/core").NavigationContainerRefWithCurrent<ReactNavigation.RootParamList>;
2
+ export declare function closeCurrentScreen(): boolean;
3
+ export declare function closeCurrentScreenSafe(): void;
4
+ //# sourceMappingURL=goBackNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goBackNavigation.d.ts","sourceRoot":"","sources":["../../../../../src/services/navigation/goBackNavigation.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,mGAAiC,CAAC;AAE5D,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C"}
@@ -0,0 +1,2 @@
1
+ export declare function openBrowser(url: string): Promise<void>;
2
+ //# sourceMappingURL=openBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openBrowser.d.ts","sourceRoot":"","sources":["../../../../../src/services/navigation/openBrowser.ts"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D"}
@@ -0,0 +1,2 @@
1
+ export declare function openMap(lat: number, lng: number, label?: string): Promise<void>;
2
+ //# sourceMappingURL=openMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openMap.d.ts","sourceRoot":"","sources":["../../../../../src/services/navigation/openMap.ts"],"names":[],"mappings":"AASA,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -0,0 +1,4 @@
1
+ import { PermissionsAndroid } from 'react-native';
2
+ export declare const requestPermission: (permission: Parameters<typeof PermissionsAndroid.request>[0]) => Promise<boolean>;
3
+ export declare function ensureLocationPermission(): Promise<boolean>;
4
+ //# sourceMappingURL=permissionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissionManager.d.ts","sourceRoot":"","sources":["../../../../../src/services/permissions/permissionManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE5D,eAAO,MAAM,iBAAiB,GAC5B,YAAY,UAAU,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAS7D,CAAC;AAEF,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiBjE"}
@@ -0,0 +1,43 @@
1
+ export type Attribute = {
2
+ key: string;
3
+ value: string;
4
+ };
5
+ export type Screen = {
6
+ name?: string;
7
+ attributes?: Attribute[];
8
+ };
9
+ export type Profile = {
10
+ userId: string;
11
+ phone?: string;
12
+ firstname: string;
13
+ lastname: string;
14
+ email: string;
15
+ dob?: string;
16
+ pv?: '0' | '1';
17
+ ev?: '0' | '1';
18
+ city?: string;
19
+ zipcode?: string;
20
+ referrer_user_id?: string;
21
+ username?: string;
22
+ };
23
+ export type AuthType = 'PHONE' | 'EMAIL' | 'USERNAME';
24
+ export type DeviceInfo = {
25
+ dId: string;
26
+ location?: {
27
+ lat: number;
28
+ lng: number;
29
+ };
30
+ };
31
+ export type UrlInput = {
32
+ screen?: Screen;
33
+ profile: Profile;
34
+ authType?: AuthType;
35
+ deviceInfo?: DeviceInfo;
36
+ sessionId?: string;
37
+ };
38
+ export declare function validateInput(input: UrlInput): {
39
+ ok: boolean;
40
+ errors: string[];
41
+ };
42
+ export declare function generateUrl(input: UrlInput): Promise<string>;
43
+ //# sourceMappingURL=urlGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlGenerator.d.ts","sourceRoot":"","sources":["../../../../../src/services/url/urlGenerator.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;AACjE,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACf,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG;IAC9C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAkCA;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDlE"}
@@ -0,0 +1,2 @@
1
+ export declare function handleWebMessage(raw: string, postBack?: (data: any) => void): void;
2
+ //# sourceMappingURL=messageHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageHandler.d.ts","sourceRoot":"","sources":["../../../../../src/services/webview/messageHandler.ts"],"names":[],"mappings":"AASA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,QAsC3E"}
@@ -0,0 +1,31 @@
1
+ type AsyncStorageModule = {
2
+ getItem: (key: string) => Promise<string | null>;
3
+ setItem: (key: string, value: string) => Promise<void>;
4
+ } | undefined;
5
+ type GeolocationModule = {
6
+ getCurrentPosition: (success: (pos: {
7
+ coords: {
8
+ latitude: number;
9
+ longitude: number;
10
+ };
11
+ }) => void, error?: (err: unknown) => void, options?: {
12
+ enableHighAccuracy?: boolean;
13
+ timeout?: number;
14
+ maximumAge?: number;
15
+ }) => void;
16
+ } | undefined;
17
+ type DeviceInfoModule = {
18
+ getUniqueId?: () => Promise<string>;
19
+ } | undefined;
20
+ export declare function resolveNativeDependencies(): {
21
+ AsyncStorage: AsyncStorageModule;
22
+ Geolocation: GeolocationModule;
23
+ DeviceInfo: DeviceInfoModule;
24
+ };
25
+ export declare const SDKRequirements: {
26
+ readonly asyncStorage: boolean;
27
+ readonly geolocation: boolean;
28
+ readonly deviceInfo: boolean;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=dependencyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyManager.d.ts","sourceRoot":"","sources":["../../../../src/utils/dependencyManager.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GACnB;IACE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD,GACD,SAAS,CAAC;AAEd,KAAK,iBAAiB,GAClB;IACE,kBAAkB,EAAE,CAClB,OAAO,EAAE,CAAC,GAAG,EAAE;QACb,MAAM,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KACjD,KAAK,IAAI,EACV,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KACE,IAAI,CAAC;CACX,GACD,SAAS,CAAC;AAEd,KAAK,gBAAgB,GACjB;IACE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC,GACD,SAAS,CAAC;AAiCd,wBAAgB,yBAAyB;;;;EASxC;AAED,eAAO,MAAM,eAAe;;;;CAU3B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function aesEncrypt(text: string, key: string): Promise<string>;
2
+ export declare function aesDecrypt(ciphertext: string, key: string): Promise<string>;
3
+ export declare function base64Encrypt(plain: string): string;
4
+ export declare function base64Decrypt(encoded: string): string;
5
+ //# sourceMappingURL=encryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../../../src/utils/encryption.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3E;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAYjB;AAKD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOrD"}
@@ -0,0 +1,4 @@
1
+ export declare class SDKError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B"}
@@ -0,0 +1,6 @@
1
+ export declare const logger: {
2
+ info: (...args: unknown[]) => void;
3
+ warn: (...args: unknown[]) => void;
4
+ error: (...args: unknown[]) => void;
5
+ };
6
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;oBACD,OAAO,EAAE;oBAGT,OAAO,EAAE;qBAGR,OAAO,EAAE;CAG3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function isIOS(): boolean;
2
+ export declare function isAndroid(): boolean;
3
+ export declare function platformVersion(): number;
4
+ //# sourceMappingURL=platformManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformManager.d.ts","sourceRoot":"","sources":["../../../../src/utils/platformManager.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -0,0 +1,4 @@
1
+ export declare function isValidPhoneNumber(input: string): boolean;
2
+ export declare function isMapAppAvailable(): Promise<boolean>;
3
+ export declare function isValidCoordinates(lat: number, lng: number): Promise<boolean>;
4
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/utils/validator.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO1D;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAKlB"}
package/package.json ADDED
@@ -0,0 +1,176 @@
1
+ {
2
+ "name": "@savers_app/react-native-sdk",
3
+ "version": "1.1.0",
4
+ "description": "Cross-platform React Native SDK exposing native features (maps, dial pad, browser), device ID/location and session utilities, a URL generator, and a WebView message bridge to trigger actions from web content.",
5
+ "main": "./lib/module/index.js",
6
+ "react-native": "./src/index.tsx",
7
+ "types": "./lib/typescript/src/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "source": "./src/index.tsx",
11
+ "types": "./lib/typescript/src/index.d.ts",
12
+ "default": "./lib/module/index.js"
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "files": [
17
+ "src",
18
+ "lib",
19
+ "android",
20
+ "ios",
21
+ "cpp",
22
+ "*.podspec",
23
+ "react-native.config.js",
24
+ "!ios/build",
25
+ "!android/build",
26
+ "!android/gradle",
27
+ "!android/gradlew",
28
+ "!android/gradlew.bat",
29
+ "!android/local.properties",
30
+ "!**/__tests__",
31
+ "!**/__fixtures__",
32
+ "!**/__mocks__",
33
+ "!**/.*"
34
+ ],
35
+ "scripts": {
36
+ "run:android": "yarn workspace @saversapp/react-native-sdk-example android",
37
+ "run:ios": "yarn workspace @saversapp/react-native-sdk-example ios",
38
+ "clean": "del-cli lib",
39
+ "prepare": "bob build",
40
+ "typecheck": "tsc",
41
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
42
+ "test": "jest",
43
+ "release": "release-it --only-version"
44
+ },
45
+ "keywords": [
46
+ "react-native",
47
+ "ios",
48
+ "android"
49
+ ],
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/pm-code/savers-react-native-sdk.git"
53
+ },
54
+ "author": "Faisal Wahab <faisalwahab@live.com> (https://github.com/pm-code)",
55
+ "license": "MIT",
56
+ "bugs": {
57
+ "url": "https://github.com/pm-code/savers-react-native-sdk/issues"
58
+ },
59
+ "homepage": "https://github.com/pm-code/savers-react-native-sdk#readme",
60
+ "publishConfig": {
61
+ "registry": "https://registry.npmjs.org/"
62
+ },
63
+ "devDependencies": {
64
+ "@commitlint/config-conventional": "^19.8.1",
65
+ "@eslint/compat": "^1.3.2",
66
+ "@eslint/eslintrc": "^3.3.1",
67
+ "@eslint/js": "^9.35.0",
68
+ "@react-native-community/netinfo": "^11.5.2",
69
+ "@react-native/babel-preset": "0.83.0",
70
+ "@react-native/eslint-config": "0.83.0",
71
+ "@react-navigation/native": "^7.0.0",
72
+ "@release-it/conventional-changelog": "^10.0.1",
73
+ "@types/jest": "^29.5.14",
74
+ "@types/react": "^19.1.12",
75
+ "commitlint": "^19.8.1",
76
+ "del-cli": "^6.0.0",
77
+ "eslint": "^9.35.0",
78
+ "eslint-config-prettier": "^10.1.8",
79
+ "eslint-plugin-prettier": "^5.5.4",
80
+ "jest": "^29.7.0",
81
+ "lefthook": "^2.0.3",
82
+ "prettier": "^2.8.8",
83
+ "react": "19.1.0",
84
+ "react-native": "0.81.5",
85
+ "react-native-builder-bob": "^0.40.13",
86
+ "release-it": "^19.0.4",
87
+ "typescript": "^5.9.2"
88
+ },
89
+ "peerDependencies": {
90
+ "@react-native-async-storage/async-storage": "*",
91
+ "@react-native-community/geolocation": "*",
92
+ "@react-native-community/netinfo": "*",
93
+ "@react-navigation/native": "*",
94
+ "react": "*",
95
+ "react-native": "*",
96
+ "react-native-aes-gcm-crypto": "*",
97
+ "react-native-device-info": "*"
98
+ },
99
+ "workspaces": [
100
+ "example"
101
+ ],
102
+ "packageManager": "yarn@4.11.0",
103
+ "react-native-builder-bob": {
104
+ "source": "src",
105
+ "output": "lib",
106
+ "targets": [
107
+ [
108
+ "module",
109
+ {
110
+ "esm": true
111
+ }
112
+ ],
113
+ [
114
+ "typescript",
115
+ {
116
+ "project": "tsconfig.build.json"
117
+ }
118
+ ]
119
+ ]
120
+ },
121
+ "prettier": {
122
+ "quoteProps": "consistent",
123
+ "singleQuote": true,
124
+ "tabWidth": 2,
125
+ "trailingComma": "es5",
126
+ "useTabs": false
127
+ },
128
+ "jest": {
129
+ "preset": "react-native",
130
+ "modulePathIgnorePatterns": [
131
+ "<rootDir>/example/node_modules",
132
+ "<rootDir>/lib/"
133
+ ],
134
+ "moduleNameMapper": {
135
+ "^@saversapp/react-native-sdk$": "<rootDir>/src/index.tsx",
136
+ "^react-native-device-info$": "<rootDir>/src/__mocks__/react-native-device-info.ts",
137
+ "^@react-native-community/geolocation$": "<rootDir>/src/__mocks__/@react-native-community__geolocation.ts",
138
+ "^@react-native-async-storage/async-storage$": "<rootDir>/src/__mocks__/@react-native-async-storage__async-storage.ts"
139
+ }
140
+ },
141
+ "commitlint": {
142
+ "extends": [
143
+ "@commitlint/config-conventional"
144
+ ]
145
+ },
146
+ "release-it": {
147
+ "git": {
148
+ "commitMessage": "chore: release ${version}",
149
+ "tagName": "v${version}"
150
+ },
151
+ "npm": {
152
+ "publish": true
153
+ },
154
+ "github": {
155
+ "release": true
156
+ },
157
+ "plugins": {
158
+ "@release-it/conventional-changelog": {
159
+ "preset": {
160
+ "name": "angular"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "create-react-native-library": {
166
+ "type": "library",
167
+ "languages": "js",
168
+ "tools": [
169
+ "eslint",
170
+ "jest",
171
+ "lefthook",
172
+ "release-it"
173
+ ],
174
+ "version": "0.56.1"
175
+ }
176
+ }
@@ -0,0 +1,7 @@
1
+ declare module '@react-native-async-storage/async-storage' {
2
+ const AsyncStorage: {
3
+ getItem(key: string): Promise<string | null>;
4
+ setItem(key: string, value: string): Promise<void>;
5
+ };
6
+ export = AsyncStorage;
7
+ }
@@ -0,0 +1,18 @@
1
+ declare module '@react-native-community/geolocation' {
2
+ type Position = {
3
+ coords: { latitude: number; longitude: number };
4
+ };
5
+ type Options = {
6
+ enableHighAccuracy?: boolean;
7
+ timeout?: number;
8
+ maximumAge?: number;
9
+ };
10
+ const Geolocation: {
11
+ getCurrentPosition(
12
+ success: (pos: Position) => void,
13
+ error?: (err: unknown) => void,
14
+ options?: Options
15
+ ): void;
16
+ };
17
+ export default Geolocation;
18
+ }
@@ -0,0 +1,22 @@
1
+ declare module 'react-native-aes-gcm-crypto' {
2
+ export type EncryptedData = {
3
+ iv: string;
4
+ tag: string;
5
+ content: string;
6
+ };
7
+ const AesGcmCrypto: {
8
+ encrypt(
9
+ plainText: string,
10
+ inBinary: boolean,
11
+ key: string
12
+ ): Promise<EncryptedData>;
13
+ decrypt(
14
+ base64Ciphertext: string,
15
+ key: string,
16
+ iv: string,
17
+ tag: string,
18
+ isBinary: boolean
19
+ ): Promise<string>;
20
+ };
21
+ export default AesGcmCrypto;
22
+ }
@@ -0,0 +1,3 @@
1
+ declare module 'react-native-device-info' {
2
+ export function getUniqueId(): Promise<string>;
3
+ }