@ventlio/tanstack-query 0.2.24 → 0.2.25
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/dist/config/index.d.ts +1 -0
- package/dist/config/useQueryHeaders.d.ts +2 -0
- package/dist/config/useQueryHeaders.js +25 -0
- package/dist/{contexts → config}/useQueryHeaders.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +83 -72
- package/dist/index.mjs.map +1 -1
- package/dist/model/useKeyTrackerModel.js +3 -3
- package/dist/queries/useDeleteRequest.js +7 -6
- package/dist/queries/useDeleteRequest.js.map +1 -1
- package/dist/queries/useGetRequest.js +13 -12
- package/dist/queries/useGetRequest.js.map +1 -1
- package/dist/queries/usePatchRequest.js +29 -26
- package/dist/queries/usePatchRequest.js.map +1 -1
- package/dist/queries/usePostRequest.js +32 -29
- package/dist/queries/usePostRequest.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/config/index.ts +1 -0
- package/src/config/useQueryHeaders.ts +25 -0
- package/src/index.ts +0 -1
- package/src/queries/useDeleteRequest.ts +6 -3
- package/src/queries/useGetRequest.ts +7 -3
- package/src/queries/usePatchRequest.ts +29 -24
- package/src/queries/usePostRequest.ts +33 -28
- package/src/types/index.ts +1 -1
- package/dist/contexts/QueryClientRequestProvider.d.ts +0 -12
- package/dist/contexts/QueryClientRequestProvider.js +0 -24
- package/dist/contexts/QueryClientRequestProvider.js.map +0 -1
- package/dist/contexts/index.d.ts +0 -2
- package/dist/contexts/useQueryHeaders.d.ts +0 -2
- package/dist/contexts/useQueryHeaders.js +0 -11
- package/src/contexts/QueryClientRequestProvider.tsx +0 -48
- package/src/contexts/index.ts +0 -2
- package/src/contexts/useQueryHeaders.ts +0 -7
package/dist/config/index.d.ts
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactQuery = require('@tanstack/react-query');
|
|
4
|
+
|
|
5
|
+
const useQueryHeaders = () => {
|
|
6
|
+
const queryClient = reactQuery.useQueryClient();
|
|
7
|
+
const getHeadersAsync = async () => {
|
|
8
|
+
return queryClient.ensureQueryData({
|
|
9
|
+
queryKey: ['config'],
|
|
10
|
+
queryFn: () => {
|
|
11
|
+
return queryClient.getQueryData(['config'])?.headers;
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
const setQueryHeaders = (newHeaders) => {
|
|
16
|
+
queryClient.setQueryData(['config'], (config) => {
|
|
17
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
18
|
+
return newConfig;
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
return { setQueryHeaders, getHeadersAsync };
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.useQueryHeaders = useQueryHeaders;
|
|
25
|
+
//# sourceMappingURL=useQueryHeaders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryHeaders.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQueryHeaders.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var useEnvironmentVariables = require('./config/useEnvironmentVariables.js');
|
|
4
4
|
var useQueryConfig = require('./config/useQueryConfig.js');
|
|
5
|
-
var
|
|
6
|
-
var useQueryHeaders = require('./contexts/useQueryHeaders.js');
|
|
5
|
+
var useQueryHeaders = require('./config/useQueryHeaders.js');
|
|
7
6
|
var scrollToTop = require('./helpers/scrollToTop.js');
|
|
8
7
|
var useKeyTrackerModel = require('./model/useKeyTrackerModel.js');
|
|
9
8
|
var useQueryModel = require('./model/useQueryModel.js');
|
|
@@ -22,8 +21,6 @@ var transformer = require('./request/transformer.js');
|
|
|
22
21
|
|
|
23
22
|
exports.useEnvironmentVariables = useEnvironmentVariables.useEnvironmentVariables;
|
|
24
23
|
exports.useQueryConfig = useQueryConfig.useQueryConfig;
|
|
25
|
-
exports.QueryClientRequestProvider = QueryClientRequestProvider.QueryClientRequestProvider;
|
|
26
|
-
exports.RequestHeaderProvider = QueryClientRequestProvider.RequestHeaderProvider;
|
|
27
24
|
exports.useQueryHeaders = useQueryHeaders.useQueryHeaders;
|
|
28
25
|
exports.scrollToTop = scrollToTop.scrollToTop;
|
|
29
26
|
exports.useKeyTrackerModel = useKeyTrackerModel.useKeyTrackerModel;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useQueryClient,
|
|
2
|
-
import
|
|
1
|
+
import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
2
|
+
import { useState, useMemo, useEffect, startTransition } from 'react';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
|
|
5
5
|
const useEnvironmentVariables = () => {
|
|
@@ -17,24 +17,23 @@ const useQueryConfig = () => {
|
|
|
17
17
|
return { headers };
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
const RequestHeaderProvider = createContext({
|
|
21
|
-
headers: {},
|
|
22
|
-
setHeaders: (_newHeaders) => {
|
|
23
|
-
//
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
const QueryClientRequestProvider = ({ client, children, }) => {
|
|
27
|
-
const [headers, updateHeaders] = useState({});
|
|
28
|
-
const setHeaders = useCallback((newHeaders) => {
|
|
29
|
-
updateHeaders(newHeaders);
|
|
30
|
-
}, []);
|
|
31
|
-
const requestContextValue = useMemo(() => ({ headers, setHeaders }), [headers, setHeaders]);
|
|
32
|
-
return (React.createElement(QueryClientProvider, { client: client },
|
|
33
|
-
React.createElement(RequestHeaderProvider.Provider, { value: requestContextValue }, children)));
|
|
34
|
-
};
|
|
35
|
-
|
|
36
20
|
const useQueryHeaders = () => {
|
|
37
|
-
|
|
21
|
+
const queryClient = useQueryClient();
|
|
22
|
+
const getHeadersAsync = async () => {
|
|
23
|
+
return queryClient.ensureQueryData({
|
|
24
|
+
queryKey: ['config'],
|
|
25
|
+
queryFn: () => {
|
|
26
|
+
return queryClient.getQueryData(['config'])?.headers;
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const setQueryHeaders = (newHeaders) => {
|
|
31
|
+
queryClient.setQueryData(['config'], (config) => {
|
|
32
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
33
|
+
return newConfig;
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
return { setQueryHeaders, getHeadersAsync };
|
|
38
37
|
};
|
|
39
38
|
|
|
40
39
|
const scrollToTop = () => {
|
|
@@ -179,9 +178,11 @@ const useDeleteRequest = () => {
|
|
|
179
178
|
const [requestPath, updateDeletePath] = useState('');
|
|
180
179
|
const [options, setOptions] = useState();
|
|
181
180
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
182
|
-
const {
|
|
181
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
183
182
|
const query = useQuery([requestPath, {}], () => new Promise((res, rej) => {
|
|
184
183
|
setTimeout(async () => {
|
|
184
|
+
// get request headers
|
|
185
|
+
const headers = await getHeadersAsync();
|
|
185
186
|
const postResponse = await makeRequest({
|
|
186
187
|
path: requestPath,
|
|
187
188
|
headers,
|
|
@@ -222,11 +223,13 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
222
223
|
const [options, setOptions] = useState(queryOptions);
|
|
223
224
|
const [page, setPage] = useState(1);
|
|
224
225
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
225
|
-
const {
|
|
226
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
226
227
|
let queryClient = useQueryClient();
|
|
227
228
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
228
229
|
queryClient = useMemo(() => queryClient, []);
|
|
229
230
|
const sendRequest = async (res, rej) => {
|
|
231
|
+
// get request headers
|
|
232
|
+
const headers = await getHeadersAsync();
|
|
230
233
|
const postResponse = await makeRequest({
|
|
231
234
|
path: requestPath,
|
|
232
235
|
headers,
|
|
@@ -319,31 +322,35 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
319
322
|
|
|
320
323
|
const usePatchRequest = ({ path }) => {
|
|
321
324
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
322
|
-
const {
|
|
325
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
323
326
|
// register post mutation
|
|
324
327
|
const mutation = useMutation((postData) => new Promise((res, rej) => {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
328
|
+
return (async () => {
|
|
329
|
+
// get request headers
|
|
330
|
+
const headers = await getHeadersAsync();
|
|
331
|
+
makeRequest({
|
|
332
|
+
path: path,
|
|
333
|
+
body: postData,
|
|
334
|
+
method: HttpMethod.PATCH,
|
|
335
|
+
headers,
|
|
336
|
+
baseURL: API_URL,
|
|
337
|
+
timeout: TIMEOUT,
|
|
338
|
+
}).then((postResponse) => {
|
|
339
|
+
if (postResponse.status) {
|
|
340
|
+
// scroll to top after success
|
|
341
|
+
scrollToTop();
|
|
342
|
+
res(postResponse);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
// scroll to top after error
|
|
346
|
+
window.scrollTo({
|
|
347
|
+
top: 0,
|
|
348
|
+
behavior: 'smooth',
|
|
349
|
+
});
|
|
350
|
+
rej(postResponse);
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
})();
|
|
347
354
|
}));
|
|
348
355
|
const patch = async (postData, options) => {
|
|
349
356
|
return mutation.mutateAsync(postData, options);
|
|
@@ -353,35 +360,39 @@ const usePatchRequest = ({ path }) => {
|
|
|
353
360
|
|
|
354
361
|
const usePostRequest = ({ path, isFormData = false, }) => {
|
|
355
362
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
356
|
-
const {
|
|
363
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
357
364
|
// register post mutation
|
|
358
365
|
const mutation = useMutation(async (postData) => new Promise((res, rej) => {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
366
|
+
return (async () => {
|
|
367
|
+
// get request headers
|
|
368
|
+
const headers = await getHeadersAsync();
|
|
369
|
+
makeRequest({
|
|
370
|
+
path: path,
|
|
371
|
+
body: postData,
|
|
372
|
+
method: HttpMethod.POST,
|
|
373
|
+
isFormData,
|
|
374
|
+
headers,
|
|
375
|
+
baseURL: API_URL,
|
|
376
|
+
timeout: TIMEOUT,
|
|
377
|
+
}).then((postResponse) => {
|
|
378
|
+
if (postResponse.status) {
|
|
379
|
+
// scroll to top after success
|
|
380
|
+
window.scrollTo({
|
|
381
|
+
top: 0,
|
|
382
|
+
behavior: 'smooth',
|
|
383
|
+
});
|
|
384
|
+
res(postResponse);
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
// scroll to top after error
|
|
388
|
+
window.scrollTo({
|
|
389
|
+
top: 0,
|
|
390
|
+
behavior: 'smooth',
|
|
391
|
+
});
|
|
392
|
+
rej(postResponse);
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
})();
|
|
385
396
|
}));
|
|
386
397
|
const post = async (postData, options) => {
|
|
387
398
|
return mutation.mutateAsync(postData, options);
|
|
@@ -389,5 +400,5 @@ const usePostRequest = ({ path, isFormData = false, }) => {
|
|
|
389
400
|
return { post, ...mutation };
|
|
390
401
|
};
|
|
391
402
|
|
|
392
|
-
export { ContentType, HttpMethod,
|
|
403
|
+
export { ContentType, HttpMethod, axiosInstance, buildFormData, errorTransformer, makeRequest, scrollToTop, successTransformer, useDeleteRequest, useEnvironmentVariables, useGetRequest, useKeyTrackerModel, usePatchRequest, usePostRequest, useQueryConfig, useQueryHeaders, useQueryModel, useRefetchQuery };
|
|
393
404
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
|
-
var
|
|
4
|
+
var react = require('react');
|
|
5
5
|
|
|
6
6
|
const useKeyTrackerModel = (keyTracker) => {
|
|
7
7
|
const queryClient = reactQuery.useQueryClient();
|
|
8
|
-
const [data, setData] =
|
|
9
|
-
const [queryKey, setQueryKey] =
|
|
8
|
+
const [data, setData] = react.useState();
|
|
9
|
+
const [queryKey, setQueryKey] = react.useState();
|
|
10
10
|
const getQueryKey = (innerKeyTracker) => {
|
|
11
11
|
const key = queryClient.getQueryData([
|
|
12
12
|
innerKeyTracker ?? keyTracker,
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
|
-
var
|
|
4
|
+
var react = require('react');
|
|
5
5
|
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
6
|
-
require('../
|
|
7
|
-
var useQueryHeaders = require('../contexts/useQueryHeaders.js');
|
|
6
|
+
var useQueryHeaders = require('../config/useQueryHeaders.js');
|
|
8
7
|
require('axios');
|
|
9
8
|
var makeRequest = require('../request/make-request.js');
|
|
10
9
|
var request_enum = require('../request/request.enum.js');
|
|
11
10
|
|
|
12
11
|
const useDeleteRequest = () => {
|
|
13
|
-
const [requestPath, updateDeletePath] =
|
|
14
|
-
const [options, setOptions] =
|
|
12
|
+
const [requestPath, updateDeletePath] = react.useState('');
|
|
13
|
+
const [options, setOptions] = react.useState();
|
|
15
14
|
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
16
|
-
const {
|
|
15
|
+
const { getHeadersAsync } = useQueryHeaders.useQueryHeaders();
|
|
17
16
|
const query = reactQuery.useQuery([requestPath, {}], () => new Promise((res, rej) => {
|
|
18
17
|
setTimeout(async () => {
|
|
18
|
+
// get request headers
|
|
19
|
+
const headers = await getHeadersAsync();
|
|
19
20
|
const postResponse = await makeRequest.makeRequest({
|
|
20
21
|
path: requestPath,
|
|
21
22
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
|
-
var
|
|
4
|
+
var react = require('react');
|
|
5
5
|
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
6
|
-
require('../
|
|
7
|
-
var useQueryHeaders = require('../contexts/useQueryHeaders.js');
|
|
6
|
+
var useQueryHeaders = require('../config/useQueryHeaders.js');
|
|
8
7
|
require('axios');
|
|
9
8
|
var makeRequest = require('../request/make-request.js');
|
|
10
9
|
require('../request/request.enum.js');
|
|
11
10
|
|
|
12
11
|
const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
13
|
-
const [requestPath, updatePath] =
|
|
14
|
-
const [options, setOptions] =
|
|
15
|
-
const [page, setPage] =
|
|
12
|
+
const [requestPath, updatePath] = react.useState(path);
|
|
13
|
+
const [options, setOptions] = react.useState(queryOptions);
|
|
14
|
+
const [page, setPage] = react.useState(1);
|
|
16
15
|
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
17
|
-
const {
|
|
16
|
+
const { getHeadersAsync } = useQueryHeaders.useQueryHeaders();
|
|
18
17
|
let queryClient = reactQuery.useQueryClient();
|
|
19
18
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
-
queryClient =
|
|
19
|
+
queryClient = react.useMemo(() => queryClient, []);
|
|
21
20
|
const sendRequest = async (res, rej) => {
|
|
21
|
+
// get request headers
|
|
22
|
+
const headers = await getHeadersAsync();
|
|
22
23
|
const postResponse = await makeRequest.makeRequest({
|
|
23
24
|
path: requestPath,
|
|
24
25
|
headers,
|
|
@@ -38,12 +39,12 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
38
39
|
enabled: load,
|
|
39
40
|
...options,
|
|
40
41
|
});
|
|
41
|
-
|
|
42
|
+
react.useEffect(() => {
|
|
42
43
|
if (path) {
|
|
43
44
|
updatePath(path);
|
|
44
45
|
}
|
|
45
46
|
}, [path]);
|
|
46
|
-
|
|
47
|
+
react.useEffect(() => {
|
|
47
48
|
if (keyTracker) {
|
|
48
49
|
queryClient.setQueryData([keyTracker], [requestPath, {}]);
|
|
49
50
|
}
|
|
@@ -83,12 +84,12 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
83
84
|
updatePath(constructPaginationLink(requestPath, pageNumber));
|
|
84
85
|
};
|
|
85
86
|
const updatedPathAsync = async (link) => {
|
|
86
|
-
|
|
87
|
+
react.startTransition(() => {
|
|
87
88
|
updatePath(link);
|
|
88
89
|
});
|
|
89
90
|
};
|
|
90
91
|
const setOptionsAsync = async (fetchOptions) => {
|
|
91
|
-
|
|
92
|
+
react.startTransition(() => {
|
|
92
93
|
setOptions(fetchOptions);
|
|
93
94
|
});
|
|
94
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
|
+
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
5
|
+
var useQueryHeaders = require('../config/useQueryHeaders.js');
|
|
4
6
|
var scrollToTop = require('../helpers/scrollToTop.js');
|
|
5
7
|
require('axios');
|
|
6
8
|
var makeRequest = require('../request/make-request.js');
|
|
7
9
|
var request_enum = require('../request/request.enum.js');
|
|
8
|
-
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
9
|
-
require('../contexts/QueryClientRequestProvider.js');
|
|
10
|
-
var useQueryHeaders = require('../contexts/useQueryHeaders.js');
|
|
11
10
|
|
|
12
11
|
const usePatchRequest = ({ path }) => {
|
|
13
12
|
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
14
|
-
const {
|
|
13
|
+
const { getHeadersAsync } = useQueryHeaders.useQueryHeaders();
|
|
15
14
|
// register post mutation
|
|
16
15
|
const mutation = reactQuery.useMutation((postData) => new Promise((res, rej) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
16
|
+
return (async () => {
|
|
17
|
+
// get request headers
|
|
18
|
+
const headers = await getHeadersAsync();
|
|
19
|
+
makeRequest.makeRequest({
|
|
20
|
+
path: path,
|
|
21
|
+
body: postData,
|
|
22
|
+
method: request_enum.HttpMethod.PATCH,
|
|
23
|
+
headers,
|
|
24
|
+
baseURL: API_URL,
|
|
25
|
+
timeout: TIMEOUT,
|
|
26
|
+
}).then((postResponse) => {
|
|
27
|
+
if (postResponse.status) {
|
|
28
|
+
// scroll to top after success
|
|
29
|
+
scrollToTop.scrollToTop();
|
|
30
|
+
res(postResponse);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// scroll to top after error
|
|
34
|
+
window.scrollTo({
|
|
35
|
+
top: 0,
|
|
36
|
+
behavior: 'smooth',
|
|
37
|
+
});
|
|
38
|
+
rej(postResponse);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
})();
|
|
39
42
|
}));
|
|
40
43
|
const patch = async (postData, options) => {
|
|
41
44
|
return mutation.mutateAsync(postData, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,43 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
4
|
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
5
|
-
require('../
|
|
6
|
-
var useQueryHeaders = require('../contexts/useQueryHeaders.js');
|
|
5
|
+
var useQueryHeaders = require('../config/useQueryHeaders.js');
|
|
7
6
|
require('axios');
|
|
8
7
|
var makeRequest = require('../request/make-request.js');
|
|
9
8
|
var request_enum = require('../request/request.enum.js');
|
|
10
9
|
|
|
11
10
|
const usePostRequest = ({ path, isFormData = false, }) => {
|
|
12
11
|
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
13
|
-
const {
|
|
12
|
+
const { getHeadersAsync } = useQueryHeaders.useQueryHeaders();
|
|
14
13
|
// register post mutation
|
|
15
14
|
const mutation = reactQuery.useMutation(async (postData) => new Promise((res, rej) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
15
|
+
return (async () => {
|
|
16
|
+
// get request headers
|
|
17
|
+
const headers = await getHeadersAsync();
|
|
18
|
+
makeRequest.makeRequest({
|
|
19
|
+
path: path,
|
|
20
|
+
body: postData,
|
|
21
|
+
method: request_enum.HttpMethod.POST,
|
|
22
|
+
isFormData,
|
|
23
|
+
headers,
|
|
24
|
+
baseURL: API_URL,
|
|
25
|
+
timeout: TIMEOUT,
|
|
26
|
+
}).then((postResponse) => {
|
|
27
|
+
if (postResponse.status) {
|
|
28
|
+
// scroll to top after success
|
|
29
|
+
window.scrollTo({
|
|
30
|
+
top: 0,
|
|
31
|
+
behavior: 'smooth',
|
|
32
|
+
});
|
|
33
|
+
res(postResponse);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// scroll to top after error
|
|
37
|
+
window.scrollTo({
|
|
38
|
+
top: 0,
|
|
39
|
+
behavior: 'smooth',
|
|
40
|
+
});
|
|
41
|
+
rej(postResponse);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
})();
|
|
42
45
|
}));
|
|
43
46
|
const post = async (postData, options) => {
|
|
44
47
|
return mutation.mutateAsync(postData, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ export interface TanstackQueryConfig {
|
|
|
3
3
|
headers: RawAxiosRequestHeaders;
|
|
4
4
|
}
|
|
5
5
|
export interface IUseQueryHeaders {
|
|
6
|
-
|
|
6
|
+
getHeadersAsync: () => Promise<RawAxiosRequestHeaders>;
|
|
7
7
|
setQueryHeaders: (header: TanstackQueryConfig['headers']) => void;
|
|
8
8
|
}
|
package/package.json
CHANGED
package/src/config/index.ts
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import type { RawAxiosRequestHeaders } from 'axios';
|
|
3
|
+
import type { IUseQueryHeaders, TanstackQueryConfig } from '../types';
|
|
4
|
+
|
|
5
|
+
export const useQueryHeaders = (): IUseQueryHeaders => {
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
|
|
8
|
+
const getHeadersAsync = async (): Promise<RawAxiosRequestHeaders> => {
|
|
9
|
+
return queryClient.ensureQueryData({
|
|
10
|
+
queryKey: ['config'],
|
|
11
|
+
queryFn: () => {
|
|
12
|
+
return (queryClient.getQueryData(['config']) as any)?.headers;
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const setQueryHeaders = (newHeaders: TanstackQueryConfig['headers']) => {
|
|
18
|
+
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config): any => {
|
|
19
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
20
|
+
return newConfig;
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return { setQueryHeaders, getHeadersAsync };
|
|
25
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import type { RawAxiosRequestHeaders } from 'axios';
|
|
3
4
|
import { useState } from 'react';
|
|
4
|
-
import { useEnvironmentVariables } from '../config';
|
|
5
|
-
import { useQueryHeaders } from '../contexts';
|
|
5
|
+
import { useEnvironmentVariables, useQueryHeaders } from '../config';
|
|
6
6
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
7
7
|
import { HttpMethod, makeRequest } from '../request';
|
|
8
8
|
|
|
@@ -12,13 +12,16 @@ export const useDeleteRequest = <TResponse>() => {
|
|
|
12
12
|
|
|
13
13
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
14
14
|
|
|
15
|
-
const {
|
|
15
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
16
16
|
|
|
17
17
|
const query = useQuery<any, any, IRequestSuccess<TResponse>>(
|
|
18
18
|
[requestPath, {}],
|
|
19
19
|
() =>
|
|
20
20
|
new Promise<IRequestSuccess<TResponse> | IRequestError>((res, rej) => {
|
|
21
21
|
setTimeout(async () => {
|
|
22
|
+
// get request headers
|
|
23
|
+
const headers: RawAxiosRequestHeaders = await getHeadersAsync();
|
|
24
|
+
|
|
22
25
|
const postResponse = await makeRequest<TResponse>({
|
|
23
26
|
path: requestPath,
|
|
24
27
|
headers,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import type { RawAxiosRequestHeaders } from 'axios';
|
|
3
4
|
import { startTransition, useEffect, useMemo, useState } from 'react';
|
|
4
|
-
import { useEnvironmentVariables } from '../config';
|
|
5
|
-
|
|
5
|
+
import { useEnvironmentVariables, useQueryHeaders } from '../config';
|
|
6
|
+
|
|
6
7
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
7
8
|
import { makeRequest } from '../request';
|
|
8
9
|
import type { IPagination, TanstackQueryOption } from './queries.interface';
|
|
@@ -23,7 +24,7 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
23
24
|
const [page, setPage] = useState<number>(1);
|
|
24
25
|
|
|
25
26
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
26
|
-
const {
|
|
27
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
27
28
|
|
|
28
29
|
let queryClient = useQueryClient();
|
|
29
30
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -38,6 +39,9 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
38
39
|
) => void,
|
|
39
40
|
rej: (reason?: any) => void
|
|
40
41
|
) => {
|
|
42
|
+
// get request headers
|
|
43
|
+
const headers: RawAxiosRequestHeaders = await getHeadersAsync();
|
|
44
|
+
|
|
41
45
|
const postResponse = await makeRequest<TResponse>({
|
|
42
46
|
path: requestPath,
|
|
43
47
|
headers,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { MutateOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useMutation } from '@tanstack/react-query';
|
|
3
|
+
import { useEnvironmentVariables, useQueryHeaders } from '../config';
|
|
3
4
|
import { scrollToTop } from '../helpers';
|
|
4
5
|
import { HttpMethod, makeRequest } from '../request';
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
-
import { useQueryHeaders } from '../contexts';
|
|
7
|
+
import type { RawAxiosRequestHeaders } from 'axios';
|
|
8
8
|
import type {
|
|
9
9
|
IRequestError,
|
|
10
10
|
IRequestSuccess,
|
|
@@ -12,33 +12,38 @@ import type {
|
|
|
12
12
|
|
|
13
13
|
export const usePatchRequest = <TResponse>({ path }: { path: string }) => {
|
|
14
14
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
16
17
|
|
|
17
18
|
// register post mutation
|
|
18
19
|
const mutation = useMutation<IRequestSuccess<TResponse>, IRequestError>(
|
|
19
20
|
(postData: any) =>
|
|
20
21
|
new Promise<IRequestSuccess<TResponse>>((res, rej) => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
return (async () => {
|
|
23
|
+
// get request headers
|
|
24
|
+
const headers: RawAxiosRequestHeaders = await getHeadersAsync();
|
|
25
|
+
makeRequest<TResponse>({
|
|
26
|
+
path: path,
|
|
27
|
+
body: postData,
|
|
28
|
+
method: HttpMethod.PATCH,
|
|
29
|
+
headers,
|
|
30
|
+
baseURL: API_URL,
|
|
31
|
+
timeout: TIMEOUT,
|
|
32
|
+
}).then((postResponse) => {
|
|
33
|
+
if (postResponse.status) {
|
|
34
|
+
// scroll to top after success
|
|
35
|
+
scrollToTop();
|
|
36
|
+
res(postResponse as IRequestSuccess<TResponse>);
|
|
37
|
+
} else {
|
|
38
|
+
// scroll to top after error
|
|
39
|
+
window.scrollTo({
|
|
40
|
+
top: 0,
|
|
41
|
+
behavior: 'smooth',
|
|
42
|
+
});
|
|
43
|
+
rej(postResponse);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
})();
|
|
42
47
|
})
|
|
43
48
|
);
|
|
44
49
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { MutateOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useMutation } from '@tanstack/react-query';
|
|
3
|
-
import { useEnvironmentVariables } from '../config';
|
|
4
|
-
|
|
3
|
+
import { useEnvironmentVariables, useQueryHeaders } from '../config';
|
|
4
|
+
|
|
5
|
+
import type { RawAxiosRequestHeaders } from 'axios';
|
|
5
6
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
6
7
|
import { HttpMethod, makeRequest } from '../request';
|
|
7
8
|
|
|
@@ -14,37 +15,41 @@ export const usePostRequest = <TResponse>({
|
|
|
14
15
|
}) => {
|
|
15
16
|
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
16
17
|
|
|
17
|
-
const {
|
|
18
|
+
const { getHeadersAsync } = useQueryHeaders();
|
|
18
19
|
|
|
19
20
|
// register post mutation
|
|
20
21
|
const mutation = useMutation<IRequestSuccess<TResponse>, IRequestError>(
|
|
21
22
|
async (postData: any) =>
|
|
22
23
|
new Promise<IRequestSuccess<TResponse>>((res, rej) => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
return (async () => {
|
|
25
|
+
// get request headers
|
|
26
|
+
const headers: RawAxiosRequestHeaders = await getHeadersAsync();
|
|
27
|
+
makeRequest<TResponse>({
|
|
28
|
+
path: path,
|
|
29
|
+
body: postData,
|
|
30
|
+
method: HttpMethod.POST,
|
|
31
|
+
isFormData,
|
|
32
|
+
headers,
|
|
33
|
+
baseURL: API_URL,
|
|
34
|
+
timeout: TIMEOUT,
|
|
35
|
+
}).then((postResponse) => {
|
|
36
|
+
if (postResponse.status) {
|
|
37
|
+
// scroll to top after success
|
|
38
|
+
window.scrollTo({
|
|
39
|
+
top: 0,
|
|
40
|
+
behavior: 'smooth',
|
|
41
|
+
});
|
|
42
|
+
res(postResponse as IRequestSuccess<TResponse>);
|
|
43
|
+
} else {
|
|
44
|
+
// scroll to top after error
|
|
45
|
+
window.scrollTo({
|
|
46
|
+
top: 0,
|
|
47
|
+
behavior: 'smooth',
|
|
48
|
+
});
|
|
49
|
+
rej(postResponse);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
})();
|
|
48
53
|
})
|
|
49
54
|
);
|
|
50
55
|
const post = async (
|
package/src/types/index.ts
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import type { RawAxiosRequestHeaders } from 'axios';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
export interface IRequestHeaderProvider {
|
|
5
|
-
headers: RawAxiosRequestHeaders;
|
|
6
|
-
setHeaders: (newHeaders: RawAxiosRequestHeaders) => void;
|
|
7
|
-
}
|
|
8
|
-
export declare const RequestHeaderProvider: React.Context<IRequestHeaderProvider>;
|
|
9
|
-
export declare const QueryClientRequestProvider: ({ client, children, }: {
|
|
10
|
-
client: QueryClient;
|
|
11
|
-
children: React.ReactNode;
|
|
12
|
-
}) => JSX.Element;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var reactQuery = require('@tanstack/react-query');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
|
|
6
|
-
const RequestHeaderProvider = React.createContext({
|
|
7
|
-
headers: {},
|
|
8
|
-
setHeaders: (_newHeaders) => {
|
|
9
|
-
//
|
|
10
|
-
},
|
|
11
|
-
});
|
|
12
|
-
const QueryClientRequestProvider = ({ client, children, }) => {
|
|
13
|
-
const [headers, updateHeaders] = React.useState({});
|
|
14
|
-
const setHeaders = React.useCallback((newHeaders) => {
|
|
15
|
-
updateHeaders(newHeaders);
|
|
16
|
-
}, []);
|
|
17
|
-
const requestContextValue = React.useMemo(() => ({ headers, setHeaders }), [headers, setHeaders]);
|
|
18
|
-
return (React.createElement(reactQuery.QueryClientProvider, { client: client },
|
|
19
|
-
React.createElement(RequestHeaderProvider.Provider, { value: requestContextValue }, children)));
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
exports.QueryClientRequestProvider = QueryClientRequestProvider;
|
|
23
|
-
exports.RequestHeaderProvider = RequestHeaderProvider;
|
|
24
|
-
//# sourceMappingURL=QueryClientRequestProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryClientRequestProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/contexts/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var QueryClientRequestProvider = require('./QueryClientRequestProvider.js');
|
|
5
|
-
|
|
6
|
-
const useQueryHeaders = () => {
|
|
7
|
-
return React.useContext(QueryClientRequestProvider.RequestHeaderProvider);
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
exports.useQueryHeaders = useQueryHeaders;
|
|
11
|
-
//# sourceMappingURL=useQueryHeaders.js.map
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { QueryClientProvider } from '@tanstack/react-query';
|
|
3
|
-
import type { RawAxiosRequestHeaders } from 'axios';
|
|
4
|
-
import React, { createContext, useCallback, useMemo, useState } from 'react';
|
|
5
|
-
|
|
6
|
-
export interface IRequestHeaderProvider {
|
|
7
|
-
headers: RawAxiosRequestHeaders;
|
|
8
|
-
setHeaders: (newHeaders: RawAxiosRequestHeaders) => void;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export const RequestHeaderProvider = createContext<IRequestHeaderProvider>({
|
|
12
|
-
headers: {},
|
|
13
|
-
setHeaders: (_newHeaders: IRequestHeaderProvider['headers']) => {
|
|
14
|
-
//
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export const QueryClientRequestProvider = ({
|
|
19
|
-
client,
|
|
20
|
-
children,
|
|
21
|
-
}: {
|
|
22
|
-
client: QueryClient;
|
|
23
|
-
children: React.ReactNode;
|
|
24
|
-
}) => {
|
|
25
|
-
const [headers, updateHeaders] = useState<IRequestHeaderProvider['headers']>(
|
|
26
|
-
{}
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
const setHeaders = useCallback(
|
|
30
|
-
(newHeaders: IRequestHeaderProvider['headers']) => {
|
|
31
|
-
updateHeaders(newHeaders);
|
|
32
|
-
},
|
|
33
|
-
[]
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
const requestContextValue = useMemo(
|
|
37
|
-
() => ({ headers, setHeaders }),
|
|
38
|
-
[headers, setHeaders]
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
return (
|
|
42
|
-
<QueryClientProvider client={client}>
|
|
43
|
-
<RequestHeaderProvider.Provider value={requestContextValue}>
|
|
44
|
-
{children}
|
|
45
|
-
</RequestHeaderProvider.Provider>
|
|
46
|
-
</QueryClientProvider>
|
|
47
|
-
);
|
|
48
|
-
};
|
package/src/contexts/index.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
import type { IRequestHeaderProvider } from './QueryClientRequestProvider';
|
|
3
|
-
import { RequestHeaderProvider } from './QueryClientRequestProvider';
|
|
4
|
-
|
|
5
|
-
export const useQueryHeaders = (): IRequestHeaderProvider => {
|
|
6
|
-
return useContext(RequestHeaderProvider);
|
|
7
|
-
};
|