@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.
@@ -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 {
@@ -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; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pakistan/util-functions",
3
- "version": "1.25.5",
3
+ "version": "1.25.7",
4
4
  "description": "A library of all util functions",
5
5
  "main": "index.js",
6
6
  "scripts": {