@oxyhq/services 5.9.2 → 5.9.4
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.
- package/README.md +1 -33
- package/lib/commonjs/core/OxyServices.js +322 -0
- package/lib/commonjs/core/OxyServices.js.map +1 -0
- package/lib/commonjs/core/OxyServicesMain.js +51 -0
- package/lib/commonjs/core/OxyServicesMain.js.map +1 -0
- package/lib/commonjs/core/analytics/AnalyticsService.js +67 -0
- package/lib/commonjs/core/analytics/AnalyticsService.js.map +1 -0
- package/lib/commonjs/core/auth/AuthService.js +526 -0
- package/lib/commonjs/core/auth/AuthService.js.map +1 -0
- package/lib/commonjs/core/devices/DeviceService.js +61 -0
- package/lib/commonjs/core/devices/DeviceService.js.map +1 -0
- package/lib/commonjs/core/files/FileService.js +176 -0
- package/lib/commonjs/core/files/FileService.js.map +1 -0
- package/lib/commonjs/core/index.js +103 -1701
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/karma/KarmaService.js +100 -0
- package/lib/commonjs/core/karma/KarmaService.js.map +1 -0
- package/lib/commonjs/core/locations/LocationService.js +131 -0
- package/lib/commonjs/core/locations/LocationService.js.map +1 -0
- package/lib/commonjs/core/payments/PaymentService.js +124 -0
- package/lib/commonjs/core/payments/PaymentService.js.map +1 -0
- package/lib/commonjs/core/users/UserService.js +234 -0
- package/lib/commonjs/core/users/UserService.js.map +1 -0
- package/lib/commonjs/index.js +164 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/session.js +2 -0
- package/lib/commonjs/{types/middleware.js.map → models/session.js.map} +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +28 -24
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -2
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +12 -12
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +2 -2
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/followStore.js +4 -4
- package/lib/commonjs/ui/stores/followStore.js.map +1 -1
- package/lib/commonjs/utils/apiUtils.js +93 -0
- package/lib/commonjs/utils/apiUtils.js.map +1 -0
- package/lib/commonjs/utils/asyncUtils.js +219 -0
- package/lib/commonjs/utils/asyncUtils.js.map +1 -0
- package/lib/commonjs/utils/errorUtils.js +148 -0
- package/lib/commonjs/utils/errorUtils.js.map +1 -0
- package/lib/commonjs/utils/hookUtils.js +399 -0
- package/lib/commonjs/utils/hookUtils.js.map +1 -0
- package/lib/commonjs/utils/loggerUtils.js +160 -0
- package/lib/commonjs/utils/loggerUtils.js.map +1 -0
- package/lib/commonjs/utils/validationUtils.js +174 -0
- package/lib/commonjs/utils/validationUtils.js.map +1 -0
- package/lib/module/core/OxyServices.js +316 -0
- package/lib/module/core/OxyServices.js.map +1 -0
- package/lib/module/core/OxyServicesMain.js +47 -0
- package/lib/module/core/OxyServicesMain.js.map +1 -0
- package/lib/module/core/analytics/AnalyticsService.js +62 -0
- package/lib/module/core/analytics/AnalyticsService.js.map +1 -0
- package/lib/module/core/auth/AuthService.js +521 -0
- package/lib/module/core/auth/AuthService.js.map +1 -0
- package/lib/module/core/devices/DeviceService.js +57 -0
- package/lib/module/core/devices/DeviceService.js.map +1 -0
- package/lib/module/core/files/FileService.js +171 -0
- package/lib/module/core/files/FileService.js.map +1 -0
- package/lib/module/core/index.js +25 -1690
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/karma/KarmaService.js +95 -0
- package/lib/module/core/karma/KarmaService.js.map +1 -0
- package/lib/module/core/locations/LocationService.js +127 -0
- package/lib/module/core/locations/LocationService.js.map +1 -0
- package/lib/module/core/payments/PaymentService.js +119 -0
- package/lib/module/core/payments/PaymentService.js.map +1 -0
- package/lib/module/core/users/UserService.js +230 -0
- package/lib/module/core/users/UserService.js.map +1 -0
- package/lib/module/index.js +8 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/session.js +2 -0
- package/lib/module/{types/middleware.js.map → models/session.js.map} +1 -1
- package/lib/module/ui/context/OxyContext.js +28 -24
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -2
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +12 -12
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +2 -2
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInScreen.js +1 -1
- package/lib/module/ui/screens/SignInScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/followStore.js +4 -4
- package/lib/module/ui/stores/followStore.js.map +1 -1
- package/lib/module/utils/apiUtils.js +85 -0
- package/lib/module/utils/apiUtils.js.map +1 -0
- package/lib/module/utils/asyncUtils.js +202 -0
- package/lib/module/utils/asyncUtils.js.map +1 -0
- package/lib/module/utils/errorUtils.js +139 -0
- package/lib/module/utils/errorUtils.js.map +1 -0
- package/lib/module/utils/hookUtils.js +381 -0
- package/lib/module/utils/hookUtils.js.map +1 -0
- package/lib/module/utils/loggerUtils.js +149 -0
- package/lib/module/utils/loggerUtils.js.map +1 -0
- package/lib/module/utils/validationUtils.js +154 -0
- package/lib/module/utils/validationUtils.js.map +1 -0
- package/lib/typescript/core/OxyServices.d.ts +99 -0
- package/lib/typescript/core/OxyServices.d.ts.map +1 -0
- package/lib/typescript/core/OxyServicesMain.d.ts +33 -0
- package/lib/typescript/core/OxyServicesMain.d.ts.map +1 -0
- package/lib/typescript/core/analytics/AnalyticsService.d.ts +26 -0
- package/lib/typescript/core/analytics/AnalyticsService.d.ts.map +1 -0
- package/lib/typescript/core/auth/AuthService.d.ts +165 -0
- package/lib/typescript/core/auth/AuthService.d.ts.map +1 -0
- package/lib/typescript/core/devices/DeviceService.d.ts +20 -0
- package/lib/typescript/core/devices/DeviceService.d.ts.map +1 -0
- package/lib/typescript/core/files/FileService.d.ts +59 -0
- package/lib/typescript/core/files/FileService.d.ts.map +1 -0
- package/lib/typescript/core/index.d.ts +19 -656
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/core/karma/KarmaService.d.ts +50 -0
- package/lib/typescript/core/karma/KarmaService.d.ts.map +1 -0
- package/lib/typescript/core/locations/LocationService.d.ts +39 -0
- package/lib/typescript/core/locations/LocationService.d.ts.map +1 -0
- package/lib/typescript/core/payments/PaymentService.d.ts +50 -0
- package/lib/typescript/core/payments/PaymentService.d.ts.map +1 -0
- package/lib/typescript/core/users/UserService.d.ts +111 -0
- package/lib/typescript/core/users/UserService.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +7 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/{secureSession.d.ts → session.d.ts} +4 -4
- package/lib/typescript/models/session.d.ts.map +1 -0
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -2
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/utils/apiUtils.d.ts +61 -0
- package/lib/typescript/utils/apiUtils.d.ts.map +1 -0
- package/lib/typescript/utils/asyncUtils.d.ts +64 -0
- package/lib/typescript/utils/asyncUtils.d.ts.map +1 -0
- package/lib/typescript/utils/errorUtils.d.ts +45 -0
- package/lib/typescript/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/utils/hookUtils.d.ts +102 -0
- package/lib/typescript/utils/hookUtils.d.ts.map +1 -0
- package/lib/typescript/utils/loggerUtils.d.ts +49 -0
- package/lib/typescript/utils/loggerUtils.d.ts.map +1 -0
- package/lib/typescript/utils/validationUtils.d.ts +80 -0
- package/lib/typescript/utils/validationUtils.d.ts.map +1 -0
- package/package.json +2 -8
- package/src/core/OxyServices.ts +351 -0
- package/src/core/OxyServicesMain.ts +57 -0
- package/src/core/analytics/AnalyticsService.ts +64 -0
- package/src/core/auth/AuthService.ts +544 -0
- package/src/core/devices/DeviceService.ts +55 -0
- package/src/core/files/FileService.ts +194 -0
- package/src/core/index.ts +27 -1765
- package/src/core/karma/KarmaService.ts +104 -0
- package/src/core/locations/LocationService.ts +141 -0
- package/src/core/payments/PaymentService.ts +133 -0
- package/src/core/users/UserService.ts +241 -0
- package/src/index.ts +29 -8
- package/src/models/{secureSession.ts → session.ts} +5 -5
- package/src/ui/context/OxyContext.tsx +34 -30
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/FileManagementScreen.tsx +12 -12
- package/src/ui/screens/ProfileScreen.tsx +3 -3
- package/src/ui/screens/SessionManagementScreen.tsx +2 -2
- package/src/ui/screens/SignInScreen.tsx +1 -1
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +2 -2
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +3 -3
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +3 -3
- package/src/ui/stores/followStore.ts +4 -4
- package/src/utils/apiUtils.ts +102 -0
- package/src/utils/asyncUtils.ts +265 -0
- package/src/utils/errorUtils.ts +172 -0
- package/src/utils/hookUtils.ts +397 -0
- package/src/utils/loggerUtils.ts +153 -0
- package/src/utils/validationUtils.ts +158 -0
- package/lib/commonjs/middleware.js +0 -17
- package/lib/commonjs/middleware.js.map +0 -1
- package/lib/commonjs/models/secureSession.js +0 -2
- package/lib/commonjs/models/secureSession.js.map +0 -1
- package/lib/commonjs/types/middleware.js +0 -6
- package/lib/module/middleware.js +0 -12
- package/lib/module/middleware.js.map +0 -1
- package/lib/module/models/secureSession.js +0 -2
- package/lib/module/models/secureSession.js.map +0 -1
- package/lib/module/types/middleware.js +0 -4
- package/lib/typescript/middleware.d.ts +0 -9
- package/lib/typescript/middleware.d.ts.map +0 -1
- package/lib/typescript/models/secureSession.d.ts.map +0 -1
- package/lib/typescript/types/middleware.d.ts +0 -19
- package/lib/typescript/types/middleware.d.ts.map +0 -1
- package/src/middleware.ts +0 -11
- 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":[]}
|