@oxyhq/services 5.9.2 → 5.9.3

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 (202) hide show
  1. package/README.md +1 -33
  2. package/lib/commonjs/core/OxyServices.js +159 -0
  3. package/lib/commonjs/core/OxyServices.js.map +1 -0
  4. package/lib/commonjs/core/OxyServicesMain.js +51 -0
  5. package/lib/commonjs/core/OxyServicesMain.js.map +1 -0
  6. package/lib/commonjs/core/analytics/AnalyticsService.js +67 -0
  7. package/lib/commonjs/core/analytics/AnalyticsService.js.map +1 -0
  8. package/lib/commonjs/core/auth/AuthService.js +526 -0
  9. package/lib/commonjs/core/auth/AuthService.js.map +1 -0
  10. package/lib/commonjs/core/devices/DeviceService.js +61 -0
  11. package/lib/commonjs/core/devices/DeviceService.js.map +1 -0
  12. package/lib/commonjs/core/files/FileService.js +176 -0
  13. package/lib/commonjs/core/files/FileService.js.map +1 -0
  14. package/lib/commonjs/core/index.js +103 -1701
  15. package/lib/commonjs/core/index.js.map +1 -1
  16. package/lib/commonjs/core/karma/KarmaService.js +100 -0
  17. package/lib/commonjs/core/karma/KarmaService.js.map +1 -0
  18. package/lib/commonjs/core/locations/LocationService.js +131 -0
  19. package/lib/commonjs/core/locations/LocationService.js.map +1 -0
  20. package/lib/commonjs/core/payments/PaymentService.js +124 -0
  21. package/lib/commonjs/core/payments/PaymentService.js.map +1 -0
  22. package/lib/commonjs/core/users/UserService.js +234 -0
  23. package/lib/commonjs/core/users/UserService.js.map +1 -0
  24. package/lib/commonjs/index.js +164 -3
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/models/session.js +2 -0
  27. package/lib/commonjs/{types/middleware.js.map → models/session.js.map} +1 -1
  28. package/lib/commonjs/ui/context/OxyContext.js +28 -24
  29. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  30. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -2
  31. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  32. package/lib/commonjs/ui/screens/FileManagementScreen.js +12 -12
  33. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  34. package/lib/commonjs/ui/screens/ProfileScreen.js +2 -2
  35. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  36. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
  38. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  39. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
  40. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  42. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
  44. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  45. package/lib/commonjs/ui/stores/followStore.js +4 -4
  46. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  47. package/lib/commonjs/utils/apiUtils.js +93 -0
  48. package/lib/commonjs/utils/apiUtils.js.map +1 -0
  49. package/lib/commonjs/utils/asyncUtils.js +219 -0
  50. package/lib/commonjs/utils/asyncUtils.js.map +1 -0
  51. package/lib/commonjs/utils/errorUtils.js +148 -0
  52. package/lib/commonjs/utils/errorUtils.js.map +1 -0
  53. package/lib/commonjs/utils/hookUtils.js +399 -0
  54. package/lib/commonjs/utils/hookUtils.js.map +1 -0
  55. package/lib/commonjs/utils/loggerUtils.js +160 -0
  56. package/lib/commonjs/utils/loggerUtils.js.map +1 -0
  57. package/lib/commonjs/utils/validationUtils.js +174 -0
  58. package/lib/commonjs/utils/validationUtils.js.map +1 -0
  59. package/lib/module/core/OxyServices.js +153 -0
  60. package/lib/module/core/OxyServices.js.map +1 -0
  61. package/lib/module/core/OxyServicesMain.js +47 -0
  62. package/lib/module/core/OxyServicesMain.js.map +1 -0
  63. package/lib/module/core/analytics/AnalyticsService.js +62 -0
  64. package/lib/module/core/analytics/AnalyticsService.js.map +1 -0
  65. package/lib/module/core/auth/AuthService.js +521 -0
  66. package/lib/module/core/auth/AuthService.js.map +1 -0
  67. package/lib/module/core/devices/DeviceService.js +57 -0
  68. package/lib/module/core/devices/DeviceService.js.map +1 -0
  69. package/lib/module/core/files/FileService.js +171 -0
  70. package/lib/module/core/files/FileService.js.map +1 -0
  71. package/lib/module/core/index.js +25 -1690
  72. package/lib/module/core/index.js.map +1 -1
  73. package/lib/module/core/karma/KarmaService.js +95 -0
  74. package/lib/module/core/karma/KarmaService.js.map +1 -0
  75. package/lib/module/core/locations/LocationService.js +127 -0
  76. package/lib/module/core/locations/LocationService.js.map +1 -0
  77. package/lib/module/core/payments/PaymentService.js +119 -0
  78. package/lib/module/core/payments/PaymentService.js.map +1 -0
  79. package/lib/module/core/users/UserService.js +230 -0
  80. package/lib/module/core/users/UserService.js.map +1 -0
  81. package/lib/module/index.js +8 -4
  82. package/lib/module/index.js.map +1 -1
  83. package/lib/module/models/session.js +2 -0
  84. package/lib/module/{types/middleware.js.map → models/session.js.map} +1 -1
  85. package/lib/module/ui/context/OxyContext.js +28 -24
  86. package/lib/module/ui/context/OxyContext.js.map +1 -1
  87. package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -2
  88. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  89. package/lib/module/ui/screens/FileManagementScreen.js +12 -12
  90. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  91. package/lib/module/ui/screens/ProfileScreen.js +2 -2
  92. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  93. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  94. package/lib/module/ui/screens/SignInScreen.js +1 -1
  95. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  96. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
  97. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  98. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
  99. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
  100. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
  101. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
  102. package/lib/module/ui/stores/followStore.js +4 -4
  103. package/lib/module/ui/stores/followStore.js.map +1 -1
  104. package/lib/module/utils/apiUtils.js +85 -0
  105. package/lib/module/utils/apiUtils.js.map +1 -0
  106. package/lib/module/utils/asyncUtils.js +202 -0
  107. package/lib/module/utils/asyncUtils.js.map +1 -0
  108. package/lib/module/utils/errorUtils.js +139 -0
  109. package/lib/module/utils/errorUtils.js.map +1 -0
  110. package/lib/module/utils/hookUtils.js +381 -0
  111. package/lib/module/utils/hookUtils.js.map +1 -0
  112. package/lib/module/utils/loggerUtils.js +149 -0
  113. package/lib/module/utils/loggerUtils.js.map +1 -0
  114. package/lib/module/utils/validationUtils.js +154 -0
  115. package/lib/module/utils/validationUtils.js.map +1 -0
  116. package/lib/typescript/core/OxyServices.d.ts +64 -0
  117. package/lib/typescript/core/OxyServices.d.ts.map +1 -0
  118. package/lib/typescript/core/OxyServicesMain.d.ts +33 -0
  119. package/lib/typescript/core/OxyServicesMain.d.ts.map +1 -0
  120. package/lib/typescript/core/analytics/AnalyticsService.d.ts +26 -0
  121. package/lib/typescript/core/analytics/AnalyticsService.d.ts.map +1 -0
  122. package/lib/typescript/core/auth/AuthService.d.ts +165 -0
  123. package/lib/typescript/core/auth/AuthService.d.ts.map +1 -0
  124. package/lib/typescript/core/devices/DeviceService.d.ts +20 -0
  125. package/lib/typescript/core/devices/DeviceService.d.ts.map +1 -0
  126. package/lib/typescript/core/files/FileService.d.ts +59 -0
  127. package/lib/typescript/core/files/FileService.d.ts.map +1 -0
  128. package/lib/typescript/core/index.d.ts +19 -656
  129. package/lib/typescript/core/index.d.ts.map +1 -1
  130. package/lib/typescript/core/karma/KarmaService.d.ts +50 -0
  131. package/lib/typescript/core/karma/KarmaService.d.ts.map +1 -0
  132. package/lib/typescript/core/locations/LocationService.d.ts +39 -0
  133. package/lib/typescript/core/locations/LocationService.d.ts.map +1 -0
  134. package/lib/typescript/core/payments/PaymentService.d.ts +50 -0
  135. package/lib/typescript/core/payments/PaymentService.d.ts.map +1 -0
  136. package/lib/typescript/core/users/UserService.d.ts +111 -0
  137. package/lib/typescript/core/users/UserService.d.ts.map +1 -0
  138. package/lib/typescript/index.d.ts +7 -3
  139. package/lib/typescript/index.d.ts.map +1 -1
  140. package/lib/typescript/models/{secureSession.d.ts → session.d.ts} +4 -4
  141. package/lib/typescript/models/session.d.ts.map +1 -0
  142. package/lib/typescript/ui/context/OxyContext.d.ts +2 -2
  143. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  144. package/lib/typescript/utils/apiUtils.d.ts +61 -0
  145. package/lib/typescript/utils/apiUtils.d.ts.map +1 -0
  146. package/lib/typescript/utils/asyncUtils.d.ts +64 -0
  147. package/lib/typescript/utils/asyncUtils.d.ts.map +1 -0
  148. package/lib/typescript/utils/errorUtils.d.ts +45 -0
  149. package/lib/typescript/utils/errorUtils.d.ts.map +1 -0
  150. package/lib/typescript/utils/hookUtils.d.ts +102 -0
  151. package/lib/typescript/utils/hookUtils.d.ts.map +1 -0
  152. package/lib/typescript/utils/loggerUtils.d.ts +49 -0
  153. package/lib/typescript/utils/loggerUtils.d.ts.map +1 -0
  154. package/lib/typescript/utils/validationUtils.d.ts +80 -0
  155. package/lib/typescript/utils/validationUtils.d.ts.map +1 -0
  156. package/package.json +2 -8
  157. package/src/core/OxyServices.ts +168 -0
  158. package/src/core/OxyServicesMain.ts +57 -0
  159. package/src/core/analytics/AnalyticsService.ts +64 -0
  160. package/src/core/auth/AuthService.ts +544 -0
  161. package/src/core/devices/DeviceService.ts +55 -0
  162. package/src/core/files/FileService.ts +194 -0
  163. package/src/core/index.ts +27 -1765
  164. package/src/core/karma/KarmaService.ts +104 -0
  165. package/src/core/locations/LocationService.ts +141 -0
  166. package/src/core/payments/PaymentService.ts +133 -0
  167. package/src/core/users/UserService.ts +241 -0
  168. package/src/index.ts +29 -8
  169. package/src/models/{secureSession.ts → session.ts} +5 -5
  170. package/src/ui/context/OxyContext.tsx +34 -30
  171. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  172. package/src/ui/screens/FileManagementScreen.tsx +12 -12
  173. package/src/ui/screens/ProfileScreen.tsx +3 -3
  174. package/src/ui/screens/SessionManagementScreen.tsx +2 -2
  175. package/src/ui/screens/SignInScreen.tsx +1 -1
  176. package/src/ui/screens/karma/KarmaCenterScreen.tsx +2 -2
  177. package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +3 -3
  178. package/src/ui/screens/karma/KarmaRulesScreen.tsx +3 -3
  179. package/src/ui/stores/followStore.ts +4 -4
  180. package/src/utils/apiUtils.ts +102 -0
  181. package/src/utils/asyncUtils.ts +265 -0
  182. package/src/utils/errorUtils.ts +172 -0
  183. package/src/utils/hookUtils.ts +397 -0
  184. package/src/utils/loggerUtils.ts +153 -0
  185. package/src/utils/validationUtils.ts +158 -0
  186. package/lib/commonjs/middleware.js +0 -17
  187. package/lib/commonjs/middleware.js.map +0 -1
  188. package/lib/commonjs/models/secureSession.js +0 -2
  189. package/lib/commonjs/models/secureSession.js.map +0 -1
  190. package/lib/commonjs/types/middleware.js +0 -6
  191. package/lib/module/middleware.js +0 -12
  192. package/lib/module/middleware.js.map +0 -1
  193. package/lib/module/models/secureSession.js +0 -2
  194. package/lib/module/models/secureSession.js.map +0 -1
  195. package/lib/module/types/middleware.js +0 -4
  196. package/lib/typescript/middleware.d.ts +0 -9
  197. package/lib/typescript/middleware.d.ts.map +0 -1
  198. package/lib/typescript/models/secureSession.d.ts.map +0 -1
  199. package/lib/typescript/types/middleware.d.ts +0 -19
  200. package/lib/typescript/types/middleware.d.ts.map +0 -1
  201. package/src/middleware.ts +0 -11
  202. package/src/types/middleware.ts +0 -20
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAsync = useAsync;
7
+ exports.useAsyncEffect = useAsyncEffect;
8
+ exports.useClickOutside = useClickOutside;
9
+ exports.useCounter = useCounter;
10
+ exports.useDebounce = useDebounce;
11
+ exports.useFormValidation = useFormValidation;
12
+ exports.useKeyPress = useKeyPress;
13
+ exports.useLocalStorage = useLocalStorage;
14
+ exports.useMediaQuery = useMediaQuery;
15
+ exports.useOnlineStatus = useOnlineStatus;
16
+ exports.usePrevious = usePrevious;
17
+ exports.useScrollPosition = useScrollPosition;
18
+ exports.useSessionStorage = useSessionStorage;
19
+ exports.useThrottle = useThrottle;
20
+ exports.useToggle = useToggle;
21
+ exports.useWindowSize = useWindowSize;
22
+ var _react = require("react");
23
+ /**
24
+ * React hook utilities for common patterns and state management
25
+ */
26
+
27
+ /**
28
+ * Hook for managing async operations with loading, error, and data states
29
+ */
30
+ function useAsync(asyncFn, deps = []) {
31
+ const [data, setData] = (0, _react.useState)(null);
32
+ const [loading, setLoading] = (0, _react.useState)(false);
33
+ const [error, setError] = (0, _react.useState)(null);
34
+ const execute = (0, _react.useCallback)(async () => {
35
+ setLoading(true);
36
+ setError(null);
37
+ try {
38
+ const result = await asyncFn();
39
+ setData(result);
40
+ return result;
41
+ } catch (err) {
42
+ const error = err instanceof Error ? err : new Error(String(err));
43
+ setError(error);
44
+ throw error;
45
+ } finally {
46
+ setLoading(false);
47
+ }
48
+ }, deps);
49
+ return {
50
+ data,
51
+ loading,
52
+ error,
53
+ execute
54
+ };
55
+ }
56
+
57
+ /**
58
+ * Hook for managing async operations that execute on mount
59
+ */
60
+ function useAsyncEffect(asyncFn, deps = []) {
61
+ const [data, setData] = (0, _react.useState)(null);
62
+ const [loading, setLoading] = (0, _react.useState)(true);
63
+ const [error, setError] = (0, _react.useState)(null);
64
+ (0, _react.useEffect)(() => {
65
+ let mounted = true;
66
+ const execute = async () => {
67
+ try {
68
+ const result = await asyncFn();
69
+ if (mounted) {
70
+ setData(result);
71
+ setLoading(false);
72
+ }
73
+ } catch (err) {
74
+ if (mounted) {
75
+ const error = err instanceof Error ? err : new Error(String(err));
76
+ setError(error);
77
+ setLoading(false);
78
+ }
79
+ }
80
+ };
81
+ execute();
82
+ return () => {
83
+ mounted = false;
84
+ };
85
+ }, deps);
86
+ return {
87
+ data,
88
+ loading,
89
+ error
90
+ };
91
+ }
92
+
93
+ /**
94
+ * Hook for debounced values
95
+ */
96
+ function useDebounce(value, delay) {
97
+ const [debouncedValue, setDebouncedValue] = (0, _react.useState)(value);
98
+ (0, _react.useEffect)(() => {
99
+ const handler = setTimeout(() => {
100
+ setDebouncedValue(value);
101
+ }, delay);
102
+ return () => {
103
+ clearTimeout(handler);
104
+ };
105
+ }, [value, delay]);
106
+ return debouncedValue;
107
+ }
108
+
109
+ /**
110
+ * Hook for throttled values
111
+ */
112
+ function useThrottle(value, delay) {
113
+ const [throttledValue, setThrottledValue] = (0, _react.useState)(value);
114
+ const lastRun = (0, _react.useRef)(Date.now());
115
+ (0, _react.useEffect)(() => {
116
+ const handler = setTimeout(() => {
117
+ if (Date.now() - lastRun.current >= delay) {
118
+ setThrottledValue(value);
119
+ lastRun.current = Date.now();
120
+ }
121
+ }, delay - (Date.now() - lastRun.current));
122
+ return () => {
123
+ clearTimeout(handler);
124
+ };
125
+ }, [value, delay]);
126
+ return throttledValue;
127
+ }
128
+
129
+ /**
130
+ * Hook for previous value
131
+ */
132
+ function usePrevious(value) {
133
+ const ref = (0, _react.useRef)();
134
+ (0, _react.useEffect)(() => {
135
+ ref.current = value;
136
+ });
137
+ return ref.current;
138
+ }
139
+
140
+ /**
141
+ * Hook for boolean state with toggle
142
+ */
143
+ function useToggle(initialValue = false) {
144
+ const [value, setValue] = (0, _react.useState)(initialValue);
145
+ const toggle = (0, _react.useCallback)(() => setValue(v => !v), []);
146
+ const setTrue = (0, _react.useCallback)(() => setValue(true), []);
147
+ const setFalse = (0, _react.useCallback)(() => setValue(false), []);
148
+ return {
149
+ value,
150
+ toggle,
151
+ setTrue,
152
+ setFalse,
153
+ setValue
154
+ };
155
+ }
156
+
157
+ /**
158
+ * Hook for counter state
159
+ */
160
+ function useCounter(initialValue = 0) {
161
+ const [count, setCount] = (0, _react.useState)(initialValue);
162
+ const increment = (0, _react.useCallback)(() => setCount(c => c + 1), []);
163
+ const decrement = (0, _react.useCallback)(() => setCount(c => c - 1), []);
164
+ const reset = (0, _react.useCallback)(() => setCount(initialValue), [initialValue]);
165
+ const setValue = (0, _react.useCallback)(value => setCount(value), []);
166
+ return {
167
+ count,
168
+ increment,
169
+ decrement,
170
+ reset,
171
+ setValue
172
+ };
173
+ }
174
+
175
+ /**
176
+ * Hook for local storage
177
+ */
178
+ function useLocalStorage(key, initialValue) {
179
+ const [storedValue, setStoredValue] = (0, _react.useState)(() => {
180
+ try {
181
+ const item = window.localStorage.getItem(key);
182
+ return item ? JSON.parse(item) : initialValue;
183
+ } catch (error) {
184
+ console.error(`Error reading localStorage key "${key}":`, error);
185
+ return initialValue;
186
+ }
187
+ });
188
+ const setValue = (0, _react.useCallback)(value => {
189
+ try {
190
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
191
+ setStoredValue(valueToStore);
192
+ window.localStorage.setItem(key, JSON.stringify(valueToStore));
193
+ } catch (error) {
194
+ console.error(`Error setting localStorage key "${key}":`, error);
195
+ }
196
+ }, [key, storedValue]);
197
+ return [storedValue, setValue];
198
+ }
199
+
200
+ /**
201
+ * Hook for session storage
202
+ */
203
+ function useSessionStorage(key, initialValue) {
204
+ const [storedValue, setStoredValue] = (0, _react.useState)(() => {
205
+ try {
206
+ const item = window.sessionStorage.getItem(key);
207
+ return item ? JSON.parse(item) : initialValue;
208
+ } catch (error) {
209
+ console.error(`Error reading sessionStorage key "${key}":`, error);
210
+ return initialValue;
211
+ }
212
+ });
213
+ const setValue = (0, _react.useCallback)(value => {
214
+ try {
215
+ const valueToStore = value instanceof Function ? value(storedValue) : value;
216
+ setStoredValue(valueToStore);
217
+ window.sessionStorage.setItem(key, JSON.stringify(valueToStore));
218
+ } catch (error) {
219
+ console.error(`Error setting sessionStorage key "${key}":`, error);
220
+ }
221
+ }, [key, storedValue]);
222
+ return [storedValue, setValue];
223
+ }
224
+
225
+ /**
226
+ * Hook for window size
227
+ */
228
+ function useWindowSize() {
229
+ const [windowSize, setWindowSize] = (0, _react.useState)({
230
+ width: window.innerWidth,
231
+ height: window.innerHeight
232
+ });
233
+ (0, _react.useEffect)(() => {
234
+ const handleResize = () => {
235
+ setWindowSize({
236
+ width: window.innerWidth,
237
+ height: window.innerHeight
238
+ });
239
+ };
240
+ window.addEventListener('resize', handleResize);
241
+ return () => window.removeEventListener('resize', handleResize);
242
+ }, []);
243
+ return windowSize;
244
+ }
245
+
246
+ /**
247
+ * Hook for scroll position
248
+ */
249
+ function useScrollPosition() {
250
+ const [scrollPosition, setScrollPosition] = (0, _react.useState)(0);
251
+ (0, _react.useEffect)(() => {
252
+ const handleScroll = () => {
253
+ setScrollPosition(window.pageYOffset);
254
+ };
255
+ window.addEventListener('scroll', handleScroll);
256
+ return () => window.removeEventListener('scroll', handleScroll);
257
+ }, []);
258
+ return scrollPosition;
259
+ }
260
+
261
+ /**
262
+ * Hook for online/offline status
263
+ */
264
+ function useOnlineStatus() {
265
+ const [isOnline, setIsOnline] = (0, _react.useState)(navigator.onLine);
266
+ (0, _react.useEffect)(() => {
267
+ const handleOnline = () => setIsOnline(true);
268
+ const handleOffline = () => setIsOnline(false);
269
+ window.addEventListener('online', handleOnline);
270
+ window.addEventListener('offline', handleOffline);
271
+ return () => {
272
+ window.removeEventListener('online', handleOnline);
273
+ window.removeEventListener('offline', handleOffline);
274
+ };
275
+ }, []);
276
+ return isOnline;
277
+ }
278
+
279
+ /**
280
+ * Hook for media queries
281
+ */
282
+ function useMediaQuery(query) {
283
+ const [matches, setMatches] = (0, _react.useState)(false);
284
+ (0, _react.useEffect)(() => {
285
+ const media = window.matchMedia(query);
286
+ if (media.matches !== matches) {
287
+ setMatches(media.matches);
288
+ }
289
+ const listener = () => setMatches(media.matches);
290
+ media.addEventListener('change', listener);
291
+ return () => media.removeEventListener('change', listener);
292
+ }, [matches, query]);
293
+ return matches;
294
+ }
295
+
296
+ /**
297
+ * Hook for keyboard events
298
+ */
299
+ function useKeyPress(targetKey) {
300
+ const [keyPressed, setKeyPressed] = (0, _react.useState)(false);
301
+ (0, _react.useEffect)(() => {
302
+ const downHandler = ({
303
+ key
304
+ }) => {
305
+ if (key === targetKey) {
306
+ setKeyPressed(true);
307
+ }
308
+ };
309
+ const upHandler = ({
310
+ key
311
+ }) => {
312
+ if (key === targetKey) {
313
+ setKeyPressed(false);
314
+ }
315
+ };
316
+ window.addEventListener('keydown', downHandler);
317
+ window.addEventListener('keyup', upHandler);
318
+ return () => {
319
+ window.removeEventListener('keydown', downHandler);
320
+ window.removeEventListener('keyup', upHandler);
321
+ };
322
+ }, [targetKey]);
323
+ return keyPressed;
324
+ }
325
+
326
+ /**
327
+ * Hook for click outside detection
328
+ */
329
+ function useClickOutside(ref, handler) {
330
+ (0, _react.useEffect)(() => {
331
+ const listener = event => {
332
+ if (!ref.current || ref.current.contains(event.target)) {
333
+ return;
334
+ }
335
+ handler();
336
+ };
337
+ document.addEventListener('mousedown', listener);
338
+ document.addEventListener('touchstart', listener);
339
+ return () => {
340
+ document.removeEventListener('mousedown', listener);
341
+ document.removeEventListener('touchstart', listener);
342
+ };
343
+ }, [ref, handler]);
344
+ }
345
+
346
+ /**
347
+ * Hook for form validation
348
+ */
349
+ function useFormValidation(initialValues, validationSchema) {
350
+ const [values, setValues] = (0, _react.useState)(initialValues);
351
+ const [errors, setErrors] = (0, _react.useState)({});
352
+ const [touched, setTouched] = (0, _react.useState)({});
353
+ const validate = (0, _react.useCallback)(valuesToValidate => {
354
+ return validationSchema(valuesToValidate);
355
+ }, [validationSchema]);
356
+ const setValue = (0, _react.useCallback)((field, value) => {
357
+ setValues(prev => ({
358
+ ...prev,
359
+ [field]: value
360
+ }));
361
+ if (touched[field]) {
362
+ const newErrors = validate({
363
+ ...values,
364
+ [field]: value
365
+ });
366
+ setErrors(prev => ({
367
+ ...prev,
368
+ [field]: newErrors[field]
369
+ }));
370
+ }
371
+ }, [values, touched, validate]);
372
+ const setTouchedField = (0, _react.useCallback)(field => {
373
+ setTouched(prev => ({
374
+ ...prev,
375
+ [field]: true
376
+ }));
377
+ const newErrors = validate(values);
378
+ setErrors(prev => ({
379
+ ...prev,
380
+ [field]: newErrors[field]
381
+ }));
382
+ }, [values, validate]);
383
+ const isValid = (0, _react.useMemo)(() => {
384
+ const validationErrors = validate(values);
385
+ return Object.keys(validationErrors).length === 0;
386
+ }, [values, validate]);
387
+ return {
388
+ values,
389
+ errors,
390
+ touched,
391
+ isValid,
392
+ setValue,
393
+ setTouchedField,
394
+ setValues,
395
+ setErrors,
396
+ setTouched
397
+ };
398
+ }
399
+ //# sourceMappingURL=hookUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useAsync","asyncFn","deps","data","setData","useState","loading","setLoading","error","setError","execute","useCallback","result","err","Error","String","useAsyncEffect","useEffect","mounted","useDebounce","value","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout","useThrottle","throttledValue","setThrottledValue","lastRun","useRef","Date","now","current","usePrevious","ref","useToggle","initialValue","setValue","toggle","v","setTrue","setFalse","useCounter","count","setCount","increment","c","decrement","reset","useLocalStorage","key","storedValue","setStoredValue","item","window","localStorage","getItem","JSON","parse","console","valueToStore","Function","setItem","stringify","useSessionStorage","sessionStorage","useWindowSize","windowSize","setWindowSize","width","innerWidth","height","innerHeight","handleResize","addEventListener","removeEventListener","useScrollPosition","scrollPosition","setScrollPosition","handleScroll","pageYOffset","useOnlineStatus","isOnline","setIsOnline","navigator","onLine","handleOnline","handleOffline","useMediaQuery","query","matches","setMatches","media","matchMedia","listener","useKeyPress","targetKey","keyPressed","setKeyPressed","downHandler","upHandler","useClickOutside","event","contains","target","document","useFormValidation","initialValues","validationSchema","values","setValues","errors","setErrors","touched","setTouched","validate","valuesToValidate","field","prev","newErrors","setTouchedField","isValid","useMemo","validationErrors","Object","keys","length"],"sourceRoot":"../../../src","sources":["utils/hookUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.logger = exports.logUser = exports.logSession = exports.logPerformance = exports.logPayment = exports.logError = exports.logDevice = exports.logAuth = exports.logApi = exports.LogLevel = void 0;
7
+ /**
8
+ * Centralized logging utilities for consistent logging across the application
9
+ */
10
+ let LogLevel = exports.LogLevel = /*#__PURE__*/function (LogLevel) {
11
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
12
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
13
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
14
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
15
+ LogLevel[LogLevel["NONE"] = 4] = "NONE";
16
+ return LogLevel;
17
+ }({});
18
+ class Logger {
19
+ level = LogLevel.INFO;
20
+ isDevelopment = process.env.NODE_ENV === 'development';
21
+ setLevel(level) {
22
+ this.level = level;
23
+ }
24
+ shouldLog(level) {
25
+ return level >= this.level;
26
+ }
27
+ formatMessage(level, message, context) {
28
+ const timestamp = new Date().toISOString();
29
+ const contextStr = context ? ` [${Object.entries(context).map(([k, v]) => `${k}:${v}`).join(', ')}]` : '';
30
+ return `[${timestamp}] ${level}${contextStr}: ${message}`;
31
+ }
32
+ debug(message, context, ...args) {
33
+ if (this.shouldLog(LogLevel.DEBUG)) {
34
+ const formattedMessage = this.formatMessage('DEBUG', message, context);
35
+ if (this.isDevelopment) {
36
+ console.log(formattedMessage, ...args);
37
+ }
38
+ }
39
+ }
40
+ info(message, context, ...args) {
41
+ if (this.shouldLog(LogLevel.INFO)) {
42
+ const formattedMessage = this.formatMessage('INFO', message, context);
43
+ console.log(formattedMessage, ...args);
44
+ }
45
+ }
46
+ warn(message, context, ...args) {
47
+ if (this.shouldLog(LogLevel.WARN)) {
48
+ const formattedMessage = this.formatMessage('WARN', message, context);
49
+ console.warn(formattedMessage, ...args);
50
+ }
51
+ }
52
+ error(message, error, context, ...args) {
53
+ if (this.shouldLog(LogLevel.ERROR)) {
54
+ const formattedMessage = this.formatMessage('ERROR', message, context);
55
+ if (error) {
56
+ console.error(formattedMessage, error, ...args);
57
+ } else {
58
+ console.error(formattedMessage, ...args);
59
+ }
60
+ }
61
+ }
62
+
63
+ // Specialized logging methods for common patterns
64
+ auth(message, context, ...args) {
65
+ this.info(`🔐 ${message}`, {
66
+ ...context,
67
+ category: 'auth'
68
+ }, ...args);
69
+ }
70
+ api(message, context, ...args) {
71
+ this.info(`🌐 ${message}`, {
72
+ ...context,
73
+ category: 'api'
74
+ }, ...args);
75
+ }
76
+ session(message, context, ...args) {
77
+ this.info(`📱 ${message}`, {
78
+ ...context,
79
+ category: 'session'
80
+ }, ...args);
81
+ }
82
+ user(message, context, ...args) {
83
+ this.info(`👤 ${message}`, {
84
+ ...context,
85
+ category: 'user'
86
+ }, ...args);
87
+ }
88
+ device(message, context, ...args) {
89
+ this.info(`📱 ${message}`, {
90
+ ...context,
91
+ category: 'device'
92
+ }, ...args);
93
+ }
94
+ payment(message, context, ...args) {
95
+ this.info(`💳 ${message}`, {
96
+ ...context,
97
+ category: 'payment'
98
+ }, ...args);
99
+ }
100
+
101
+ // Performance logging
102
+ performance(operation, duration, context) {
103
+ const level = duration > 1000 ? LogLevel.WARN : LogLevel.INFO;
104
+ const message = `⏱️ ${operation} completed in ${duration}ms`;
105
+ if (level === LogLevel.WARN) {
106
+ this.warn(message, {
107
+ ...context,
108
+ category: 'performance',
109
+ duration
110
+ });
111
+ } else {
112
+ this.info(message, {
113
+ ...context,
114
+ category: 'performance',
115
+ duration
116
+ });
117
+ }
118
+ }
119
+
120
+ // Error logging with stack trace
121
+ errorWithStack(message, error, context) {
122
+ this.error(message, error, {
123
+ ...context,
124
+ stack: error.stack
125
+ });
126
+ }
127
+
128
+ // Group related log messages
129
+ group(label, fn) {
130
+ if (this.isDevelopment && this.shouldLog(LogLevel.DEBUG)) {
131
+ console.group(label);
132
+ fn();
133
+ console.groupEnd();
134
+ } else {
135
+ fn();
136
+ }
137
+ }
138
+ }
139
+
140
+ // Create singleton instance
141
+ const logger = exports.logger = new Logger();
142
+
143
+ // Convenience functions for common logging patterns
144
+ const logAuth = (message, context, ...args) => logger.auth(message, context, ...args);
145
+ exports.logAuth = logAuth;
146
+ const logApi = (message, context, ...args) => logger.api(message, context, ...args);
147
+ exports.logApi = logApi;
148
+ const logSession = (message, context, ...args) => logger.session(message, context, ...args);
149
+ exports.logSession = logSession;
150
+ const logUser = (message, context, ...args) => logger.user(message, context, ...args);
151
+ exports.logUser = logUser;
152
+ const logDevice = (message, context, ...args) => logger.device(message, context, ...args);
153
+ exports.logDevice = logDevice;
154
+ const logPayment = (message, context, ...args) => logger.payment(message, context, ...args);
155
+ exports.logPayment = logPayment;
156
+ const logError = (message, error, context, ...args) => logger.error(message, error, context, ...args);
157
+ exports.logError = logError;
158
+ const logPerformance = (operation, duration, context) => logger.performance(operation, duration, context);
159
+ exports.logPerformance = logPerformance;
160
+ //# sourceMappingURL=loggerUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LogLevel","exports","Logger","level","INFO","isDevelopment","process","env","NODE_ENV","setLevel","shouldLog","formatMessage","message","context","timestamp","Date","toISOString","contextStr","Object","entries","map","k","v","join","debug","args","DEBUG","formattedMessage","console","log","info","warn","WARN","error","ERROR","auth","category","api","session","user","device","payment","performance","operation","duration","errorWithStack","stack","group","label","fn","groupEnd","logger","logAuth","logApi","logSession","logUser","logDevice","logPayment","logError","logPerformance"],"sourceRoot":"../../../src","sources":["utils/loggerUtils.ts"],"mappings":"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","ignoreList":[]}