@react-pakistan/util-functions 1.25.5 → 1.25.7
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/hooks/use-fetch.d.ts +7 -1
- package/hooks/use-fetch.js +18 -2
- package/hooks/use-module-entity-v2.js +1 -0
- package/package.json +1 -1
package/hooks/use-fetch.d.ts
CHANGED
|
@@ -4,9 +4,15 @@ export interface FetchResult {
|
|
|
4
4
|
status?: number;
|
|
5
5
|
ok?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export interface FetchConfig extends RequestInit {
|
|
7
|
+
export interface FetchConfig extends Omit<RequestInit, 'credentials'> {
|
|
8
8
|
autoFetch?: boolean;
|
|
9
9
|
callback?: (result: FetchResult) => void;
|
|
10
|
+
/**
|
|
11
|
+
* If `true`, the fetch will be invoked with `credentials: 'include'`.
|
|
12
|
+
* String values from the standard `RequestCredentials` are also supported
|
|
13
|
+
* (e.g. 'omit' | 'same-origin' | 'include').
|
|
14
|
+
*/
|
|
15
|
+
credentials?: boolean | RequestCredentials;
|
|
10
16
|
params?: Record<string, any>;
|
|
11
17
|
}
|
|
12
18
|
export interface Return {
|
package/hooks/use-fetch.js
CHANGED
|
@@ -84,6 +84,7 @@ var useFetch = function (url, config, deps) {
|
|
|
84
84
|
var _e = (0, react_1.useState)(undefined), apiResult = _e[0], setApiResult = _e[1];
|
|
85
85
|
var abortControllerRef = (0, react_1.useRef)(null);
|
|
86
86
|
var isMounted = (0, react_1.useRef)(true);
|
|
87
|
+
var autoFetchedRef = (0, react_1.useRef)(false);
|
|
87
88
|
(0, react_1.useEffect)(function () {
|
|
88
89
|
isMounted.current = true;
|
|
89
90
|
return function () {
|
|
@@ -93,7 +94,7 @@ var useFetch = function (url, config, deps) {
|
|
|
93
94
|
};
|
|
94
95
|
}, []);
|
|
95
96
|
var fetchNow = (0, react_1.useCallback)(function (overrideUrl, overrideOptions) { return __awaiter(void 0, void 0, void 0, function () {
|
|
96
|
-
var finalUrl, _a, defaultParams, restDefaultOptions, _b, overrideParams, restOverrideOptions, mergedParams, finalOptions, method, hashIndex, hash, basePart, searchIndex, pathname, existingSearch, searchParams_1, newSearch, controller, response, parsed, _c, err, err_1;
|
|
97
|
+
var finalUrl, _a, defaultParams, restDefaultOptions, _b, overrideParams, restOverrideOptions, mergedParams, finalOptions, method, credOverride, credDefault, hashIndex, hash, basePart, searchIndex, pathname, existingSearch, searchParams_1, newSearch, controller, response, parsed, _c, err, err_1;
|
|
97
98
|
return __generator(this, function (_d) {
|
|
98
99
|
switch (_d.label) {
|
|
99
100
|
case 0:
|
|
@@ -105,6 +106,20 @@ var useFetch = function (url, config, deps) {
|
|
|
105
106
|
method = (finalOptions.method || 'GET')
|
|
106
107
|
.toString()
|
|
107
108
|
.toUpperCase();
|
|
109
|
+
credOverride = restOverrideOptions.credentials;
|
|
110
|
+
credDefault = restDefaultOptions.credentials;
|
|
111
|
+
if (typeof credOverride === 'string') {
|
|
112
|
+
finalOptions.credentials = credOverride;
|
|
113
|
+
}
|
|
114
|
+
else if (credOverride === true) {
|
|
115
|
+
finalOptions.credentials = 'include';
|
|
116
|
+
}
|
|
117
|
+
else if (typeof credDefault === 'string') {
|
|
118
|
+
finalOptions.credentials = credDefault;
|
|
119
|
+
}
|
|
120
|
+
else if (credDefault === true) {
|
|
121
|
+
finalOptions.credentials = 'include';
|
|
122
|
+
}
|
|
108
123
|
if (method === 'GET' &&
|
|
109
124
|
mergedParams &&
|
|
110
125
|
Object.keys(mergedParams).length) {
|
|
@@ -208,7 +223,8 @@ var useFetch = function (url, config, deps) {
|
|
|
208
223
|
});
|
|
209
224
|
}); }, __spreadArray([url, defaultOptions, callback], deps, true));
|
|
210
225
|
(0, react_1.useEffect)(function () {
|
|
211
|
-
if (autoFetch) {
|
|
226
|
+
if (autoFetch && !autoFetchedRef.current) {
|
|
227
|
+
autoFetchedRef.current = true;
|
|
212
228
|
fetchNow();
|
|
213
229
|
}
|
|
214
230
|
}, [fetchNow, autoFetch]);
|
|
@@ -83,6 +83,7 @@ var useModuleEntityV2 = function (_a) {
|
|
|
83
83
|
method: constants_1.API_METHODS.GET,
|
|
84
84
|
params: listParams,
|
|
85
85
|
callback: listCallback,
|
|
86
|
+
credentials: true,
|
|
86
87
|
}, __spreadArray([debouncedQuery, listParams], listDeps, true)), listError = _f.error, listFetchNow = _f.fetchNow, listLoading = _f.loading;
|
|
87
88
|
var refreshList = function (delay) {
|
|
88
89
|
if (delay === void 0) { delay = 300; }
|