@ventlio/tanstack-query 0.2.20 → 0.2.22
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/config.interface.d.ts +4 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/useEnvironmentVariables.d.ts +2 -0
- package/dist/config/useEnvironmentVariables.js +13 -0
- package/dist/config/useEnvironmentVariables.js.map +1 -0
- package/dist/config/useQueryBaseURL.js +5 -2
- package/dist/config/useQueryBaseURL.js.map +1 -1
- package/dist/config/useQueryHeaders.js +2 -2
- package/dist/config/useQueryTimeout.js +2 -2
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +35 -19
- package/dist/index.mjs.map +1 -1
- package/dist/queries/useDeleteRequest.js +5 -3
- package/dist/queries/useDeleteRequest.js.map +1 -1
- package/dist/queries/useGetRequest.js +5 -3
- package/dist/queries/useGetRequest.js.map +1 -1
- package/dist/queries/usePatchRequest.js +5 -3
- package/dist/queries/usePatchRequest.js.map +1 -1
- package/dist/queries/usePostRequest.js +5 -3
- package/dist/queries/usePostRequest.js.map +1 -1
- package/package.json +1 -1
- package/src/config/config.interface.ts +4 -0
- package/src/config/index.ts +2 -0
- package/src/config/useEnvironmentVariables.ts +12 -0
- package/src/config/useQueryBaseURL.ts +7 -3
- package/src/config/useQueryHeaders.ts +3 -3
- package/src/config/useQueryTimeout.ts +4 -3
- package/src/queries/useDeleteRequest.ts +6 -4
- package/src/queries/useGetRequest.ts +5 -4
- package/src/queries/usePatchRequest.ts +5 -4
- package/src/queries/usePostRequest.ts +6 -4
package/dist/config/index.d.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const useEnvironmentVariables = () => {
|
|
4
|
+
const url = process.env.REACT_APP_API_URL || process.env.NEXT_PUBLIC_API_URL;
|
|
5
|
+
const timeout = process.env.REACT_APP_API_TIMEOUT || process.env.NEXT_PUBLIC_API_TIMEOUT;
|
|
6
|
+
return {
|
|
7
|
+
API_URL: url,
|
|
8
|
+
TIMEOUT: Number(timeout),
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.useEnvironmentVariables = useEnvironmentVariables;
|
|
13
|
+
//# sourceMappingURL=useEnvironmentVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEnvironmentVariables.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -8,8 +8,11 @@ const useQueryBaseURL = () => {
|
|
|
8
8
|
const queryClient = reactQuery.useQueryClient();
|
|
9
9
|
const setQueryBaseUrl = (newBaseUrl) => {
|
|
10
10
|
queryClient.setQueryData(['config'], (config) => {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
const newConfig = {
|
|
12
|
+
...config,
|
|
13
|
+
baseURL: newBaseUrl,
|
|
14
|
+
};
|
|
15
|
+
return newConfig;
|
|
13
16
|
});
|
|
14
17
|
};
|
|
15
18
|
return { baseURL, setQueryBaseUrl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryBaseURL.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQueryBaseURL.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -8,8 +8,8 @@ const useQueryHeaders = () => {
|
|
|
8
8
|
const queryClient = reactQuery.useQueryClient();
|
|
9
9
|
const setQueryHeaders = (newHeaders) => {
|
|
10
10
|
queryClient.setQueryData(['config'], (config) => {
|
|
11
|
-
config
|
|
12
|
-
return
|
|
11
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
12
|
+
return newConfig;
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
return { headers, setQueryHeaders };
|
|
@@ -8,8 +8,8 @@ const useQueryTimeout = () => {
|
|
|
8
8
|
const queryClient = reactQuery.useQueryClient();
|
|
9
9
|
const setQueryTimeout = (newTimeout) => {
|
|
10
10
|
queryClient.setQueryData(['config'], (config) => {
|
|
11
|
-
config
|
|
12
|
-
return
|
|
11
|
+
const newConfig = { ...config, timeout: newTimeout };
|
|
12
|
+
return newConfig;
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
return { timeout, setQueryTimeout };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var useEnvironmentVariables = require('./config/useEnvironmentVariables.js');
|
|
3
4
|
var useQueryBaseURL = require('./config/useQueryBaseURL.js');
|
|
4
5
|
var useQueryConfig = require('./config/useQueryConfig.js');
|
|
5
6
|
var useQueryHeaders = require('./config/useQueryHeaders.js');
|
|
@@ -20,6 +21,7 @@ var transformer = require('./request/transformer.js');
|
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
|
|
24
|
+
exports.useEnvironmentVariables = useEnvironmentVariables.useEnvironmentVariables;
|
|
23
25
|
exports.useQueryBaseURL = useQueryBaseURL.useQueryBaseURL;
|
|
24
26
|
exports.useQueryConfig = useQueryConfig.useQueryConfig;
|
|
25
27
|
exports.useQueryHeaders = useQueryHeaders.useQueryHeaders;
|
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
|
@@ -2,6 +2,15 @@ import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
|
|
|
2
2
|
import { useState, useMemo, useEffect, startTransition } from 'react';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
|
|
5
|
+
const useEnvironmentVariables = () => {
|
|
6
|
+
const url = process.env.REACT_APP_API_URL || process.env.NEXT_PUBLIC_API_URL;
|
|
7
|
+
const timeout = process.env.REACT_APP_API_TIMEOUT || process.env.NEXT_PUBLIC_API_TIMEOUT;
|
|
8
|
+
return {
|
|
9
|
+
API_URL: url,
|
|
10
|
+
TIMEOUT: Number(timeout),
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
|
|
5
14
|
const useQueryConfig = () => {
|
|
6
15
|
const queryClient = useQueryClient();
|
|
7
16
|
const { headers = {}, baseURL = '', timeout = 10000, } = queryClient.getQueryData(['config']) ?? {};
|
|
@@ -13,8 +22,11 @@ const useQueryBaseURL = () => {
|
|
|
13
22
|
const queryClient = useQueryClient();
|
|
14
23
|
const setQueryBaseUrl = (newBaseUrl) => {
|
|
15
24
|
queryClient.setQueryData(['config'], (config) => {
|
|
16
|
-
|
|
17
|
-
|
|
25
|
+
const newConfig = {
|
|
26
|
+
...config,
|
|
27
|
+
baseURL: newBaseUrl,
|
|
28
|
+
};
|
|
29
|
+
return newConfig;
|
|
18
30
|
});
|
|
19
31
|
};
|
|
20
32
|
return { baseURL, setQueryBaseUrl };
|
|
@@ -25,8 +37,8 @@ const useQueryHeaders = () => {
|
|
|
25
37
|
const queryClient = useQueryClient();
|
|
26
38
|
const setQueryHeaders = (newHeaders) => {
|
|
27
39
|
queryClient.setQueryData(['config'], (config) => {
|
|
28
|
-
config
|
|
29
|
-
return
|
|
40
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
41
|
+
return newConfig;
|
|
30
42
|
});
|
|
31
43
|
};
|
|
32
44
|
return { headers, setQueryHeaders };
|
|
@@ -37,8 +49,8 @@ const useQueryTimeout = () => {
|
|
|
37
49
|
const queryClient = useQueryClient();
|
|
38
50
|
const setQueryTimeout = (newTimeout) => {
|
|
39
51
|
queryClient.setQueryData(['config'], (config) => {
|
|
40
|
-
config
|
|
41
|
-
return
|
|
52
|
+
const newConfig = { ...config, timeout: newTimeout };
|
|
53
|
+
return newConfig;
|
|
42
54
|
});
|
|
43
55
|
};
|
|
44
56
|
return { timeout, setQueryTimeout };
|
|
@@ -185,15 +197,16 @@ async function makeRequest({ body, method = HttpMethod.GET, path, isFormData, he
|
|
|
185
197
|
const useDeleteRequest = () => {
|
|
186
198
|
const [requestPath, updateDeletePath] = useState('');
|
|
187
199
|
const [options, setOptions] = useState();
|
|
188
|
-
const {
|
|
200
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
201
|
+
const { headers } = useQueryConfig();
|
|
189
202
|
const query = useQuery([requestPath, {}], () => new Promise((res, rej) => {
|
|
190
203
|
setTimeout(async () => {
|
|
191
204
|
const postResponse = await makeRequest({
|
|
192
205
|
path: requestPath,
|
|
193
206
|
headers,
|
|
194
207
|
method: HttpMethod.DELETE,
|
|
195
|
-
baseURL,
|
|
196
|
-
timeout,
|
|
208
|
+
baseURL: API_URL,
|
|
209
|
+
timeout: TIMEOUT,
|
|
197
210
|
});
|
|
198
211
|
if (postResponse.status) {
|
|
199
212
|
res(postResponse);
|
|
@@ -227,7 +240,8 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
227
240
|
const [requestPath, updatePath] = useState(path);
|
|
228
241
|
const [options, setOptions] = useState(queryOptions);
|
|
229
242
|
const [page, setPage] = useState(1);
|
|
230
|
-
const {
|
|
243
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
244
|
+
const { headers } = useQueryConfig();
|
|
231
245
|
let queryClient = useQueryClient();
|
|
232
246
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
233
247
|
queryClient = useMemo(() => queryClient, []);
|
|
@@ -235,8 +249,8 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
235
249
|
const postResponse = await makeRequest({
|
|
236
250
|
path: requestPath,
|
|
237
251
|
headers,
|
|
238
|
-
baseURL,
|
|
239
|
-
timeout,
|
|
252
|
+
baseURL: API_URL,
|
|
253
|
+
timeout: TIMEOUT,
|
|
240
254
|
});
|
|
241
255
|
if (postResponse.status) {
|
|
242
256
|
res(postResponse);
|
|
@@ -323,7 +337,8 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
323
337
|
};
|
|
324
338
|
|
|
325
339
|
const usePatchRequest = ({ path }) => {
|
|
326
|
-
const {
|
|
340
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
341
|
+
const { headers } = useQueryConfig();
|
|
327
342
|
// register post mutation
|
|
328
343
|
const mutation = useMutation((postData) => new Promise((res, rej) => {
|
|
329
344
|
makeRequest({
|
|
@@ -331,8 +346,8 @@ const usePatchRequest = ({ path }) => {
|
|
|
331
346
|
body: postData,
|
|
332
347
|
method: HttpMethod.PATCH,
|
|
333
348
|
headers,
|
|
334
|
-
baseURL,
|
|
335
|
-
timeout,
|
|
349
|
+
baseURL: API_URL,
|
|
350
|
+
timeout: TIMEOUT,
|
|
336
351
|
}).then((postResponse) => {
|
|
337
352
|
if (postResponse.status) {
|
|
338
353
|
// scroll to top after success
|
|
@@ -356,7 +371,8 @@ const usePatchRequest = ({ path }) => {
|
|
|
356
371
|
};
|
|
357
372
|
|
|
358
373
|
const usePostRequest = ({ path, isFormData = false, }) => {
|
|
359
|
-
const {
|
|
374
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
375
|
+
const { headers } = useQueryConfig();
|
|
360
376
|
// register post mutation
|
|
361
377
|
const mutation = useMutation(async (postData) => new Promise((res, rej) => {
|
|
362
378
|
makeRequest({
|
|
@@ -365,8 +381,8 @@ const usePostRequest = ({ path, isFormData = false, }) => {
|
|
|
365
381
|
method: HttpMethod.POST,
|
|
366
382
|
isFormData,
|
|
367
383
|
headers,
|
|
368
|
-
baseURL,
|
|
369
|
-
timeout,
|
|
384
|
+
baseURL: API_URL,
|
|
385
|
+
timeout: TIMEOUT,
|
|
370
386
|
}).then((postResponse) => {
|
|
371
387
|
if (postResponse.status) {
|
|
372
388
|
// scroll to top after success
|
|
@@ -392,5 +408,5 @@ const usePostRequest = ({ path, isFormData = false, }) => {
|
|
|
392
408
|
return { post, ...mutation };
|
|
393
409
|
};
|
|
394
410
|
|
|
395
|
-
export { ContentType, HttpMethod, axiosInstance, buildFormData, errorTransformer, makeRequest, scrollToTop, successTransformer, useDeleteRequest, useGetRequest, useKeyTrackerModel, usePatchRequest, usePostRequest, useQueryBaseURL, useQueryConfig, useQueryHeaders, useQueryModel, useQueryTimeout, useRefetchQuery };
|
|
411
|
+
export { ContentType, HttpMethod, axiosInstance, buildFormData, errorTransformer, makeRequest, scrollToTop, successTransformer, useDeleteRequest, useEnvironmentVariables, useGetRequest, useKeyTrackerModel, usePatchRequest, usePostRequest, useQueryBaseURL, useQueryConfig, useQueryHeaders, useQueryModel, useQueryTimeout, useRefetchQuery };
|
|
396
412
|
//# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
4
|
var react = require('react');
|
|
5
|
+
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
5
6
|
var useQueryConfig = require('../config/useQueryConfig.js');
|
|
6
7
|
require('axios');
|
|
7
8
|
var makeRequest = require('../request/make-request.js');
|
|
@@ -10,15 +11,16 @@ var request_enum = require('../request/request.enum.js');
|
|
|
10
11
|
const useDeleteRequest = () => {
|
|
11
12
|
const [requestPath, updateDeletePath] = react.useState('');
|
|
12
13
|
const [options, setOptions] = react.useState();
|
|
13
|
-
const {
|
|
14
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
15
|
+
const { headers } = useQueryConfig.useQueryConfig();
|
|
14
16
|
const query = reactQuery.useQuery([requestPath, {}], () => new Promise((res, rej) => {
|
|
15
17
|
setTimeout(async () => {
|
|
16
18
|
const postResponse = await makeRequest.makeRequest({
|
|
17
19
|
path: requestPath,
|
|
18
20
|
headers,
|
|
19
21
|
method: request_enum.HttpMethod.DELETE,
|
|
20
|
-
baseURL,
|
|
21
|
-
timeout,
|
|
22
|
+
baseURL: API_URL,
|
|
23
|
+
timeout: TIMEOUT,
|
|
22
24
|
});
|
|
23
25
|
if (postResponse.status) {
|
|
24
26
|
res(postResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
4
|
var react = require('react');
|
|
5
|
+
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
5
6
|
var useQueryConfig = require('../config/useQueryConfig.js');
|
|
6
7
|
require('axios');
|
|
7
8
|
var makeRequest = require('../request/make-request.js');
|
|
@@ -11,7 +12,8 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
11
12
|
const [requestPath, updatePath] = react.useState(path);
|
|
12
13
|
const [options, setOptions] = react.useState(queryOptions);
|
|
13
14
|
const [page, setPage] = react.useState(1);
|
|
14
|
-
const {
|
|
15
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
16
|
+
const { headers } = useQueryConfig.useQueryConfig();
|
|
15
17
|
let queryClient = reactQuery.useQueryClient();
|
|
16
18
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
19
|
queryClient = react.useMemo(() => queryClient, []);
|
|
@@ -19,8 +21,8 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, }) => {
|
|
|
19
21
|
const postResponse = await makeRequest.makeRequest({
|
|
20
22
|
path: requestPath,
|
|
21
23
|
headers,
|
|
22
|
-
baseURL,
|
|
23
|
-
timeout,
|
|
24
|
+
baseURL: API_URL,
|
|
25
|
+
timeout: TIMEOUT,
|
|
24
26
|
});
|
|
25
27
|
if (postResponse.status) {
|
|
26
28
|
res(postResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,10 +5,12 @@ var scrollToTop = require('../helpers/scrollToTop.js');
|
|
|
5
5
|
require('axios');
|
|
6
6
|
var makeRequest = require('../request/make-request.js');
|
|
7
7
|
var request_enum = require('../request/request.enum.js');
|
|
8
|
+
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
8
9
|
var useQueryConfig = require('../config/useQueryConfig.js');
|
|
9
10
|
|
|
10
11
|
const usePatchRequest = ({ path }) => {
|
|
11
|
-
const {
|
|
12
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
13
|
+
const { headers } = useQueryConfig.useQueryConfig();
|
|
12
14
|
// register post mutation
|
|
13
15
|
const mutation = reactQuery.useMutation((postData) => new Promise((res, rej) => {
|
|
14
16
|
makeRequest.makeRequest({
|
|
@@ -16,8 +18,8 @@ const usePatchRequest = ({ path }) => {
|
|
|
16
18
|
body: postData,
|
|
17
19
|
method: request_enum.HttpMethod.PATCH,
|
|
18
20
|
headers,
|
|
19
|
-
baseURL,
|
|
20
|
-
timeout,
|
|
21
|
+
baseURL: API_URL,
|
|
22
|
+
timeout: TIMEOUT,
|
|
21
23
|
}).then((postResponse) => {
|
|
22
24
|
if (postResponse.status) {
|
|
23
25
|
// scroll to top after success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reactQuery = require('@tanstack/react-query');
|
|
4
|
+
var useEnvironmentVariables = require('../config/useEnvironmentVariables.js');
|
|
4
5
|
var useQueryConfig = require('../config/useQueryConfig.js');
|
|
5
6
|
require('axios');
|
|
6
7
|
var makeRequest = require('../request/make-request.js');
|
|
7
8
|
var request_enum = require('../request/request.enum.js');
|
|
8
9
|
|
|
9
10
|
const usePostRequest = ({ path, isFormData = false, }) => {
|
|
10
|
-
const {
|
|
11
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables.useEnvironmentVariables();
|
|
12
|
+
const { headers } = useQueryConfig.useQueryConfig();
|
|
11
13
|
// register post mutation
|
|
12
14
|
const mutation = reactQuery.useMutation(async (postData) => new Promise((res, rej) => {
|
|
13
15
|
makeRequest.makeRequest({
|
|
@@ -16,8 +18,8 @@ const usePostRequest = ({ path, isFormData = false, }) => {
|
|
|
16
18
|
method: request_enum.HttpMethod.POST,
|
|
17
19
|
isFormData,
|
|
18
20
|
headers,
|
|
19
|
-
baseURL,
|
|
20
|
-
timeout,
|
|
21
|
+
baseURL: API_URL,
|
|
22
|
+
timeout: TIMEOUT,
|
|
21
23
|
}).then((postResponse) => {
|
|
22
24
|
if (postResponse.status) {
|
|
23
25
|
// scroll to top after success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
package/src/config/index.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IConfig } from './config.interface';
|
|
2
|
+
|
|
3
|
+
export const useEnvironmentVariables = (): IConfig => {
|
|
4
|
+
const url = process.env.REACT_APP_API_URL || process.env.NEXT_PUBLIC_API_URL;
|
|
5
|
+
const timeout =
|
|
6
|
+
process.env.REACT_APP_API_TIMEOUT || process.env.NEXT_PUBLIC_API_TIMEOUT;
|
|
7
|
+
|
|
8
|
+
return {
|
|
9
|
+
API_URL: url as string,
|
|
10
|
+
TIMEOUT: Number(timeout),
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -7,9 +7,13 @@ export const useQueryBaseURL = (): IUseQueryBaseURL => {
|
|
|
7
7
|
const queryClient = useQueryClient();
|
|
8
8
|
|
|
9
9
|
const setQueryBaseUrl = (newBaseUrl: TanstackQueryConfig['baseURL']) => {
|
|
10
|
-
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config) => {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config): any => {
|
|
11
|
+
const newConfig = {
|
|
12
|
+
...config,
|
|
13
|
+
baseURL: newBaseUrl,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
return newConfig;
|
|
13
17
|
});
|
|
14
18
|
};
|
|
15
19
|
|
|
@@ -7,9 +7,9 @@ export const useQueryHeaders = (): IUseQueryHeaders => {
|
|
|
7
7
|
const queryClient = useQueryClient();
|
|
8
8
|
|
|
9
9
|
const setQueryHeaders = (newHeaders: TanstackQueryConfig['headers']) => {
|
|
10
|
-
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config) => {
|
|
11
|
-
|
|
12
|
-
return
|
|
10
|
+
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config): any => {
|
|
11
|
+
const newConfig = { ...config, headers: newHeaders };
|
|
12
|
+
return newConfig;
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
|
|
@@ -7,9 +7,10 @@ export const useQueryTimeout = (): IUseQueryTimeout => {
|
|
|
7
7
|
const queryClient = useQueryClient();
|
|
8
8
|
|
|
9
9
|
const setQueryTimeout = (newTimeout: TanstackQueryConfig['timeout']) => {
|
|
10
|
-
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config) => {
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
queryClient.setQueryData<TanstackQueryConfig>(['config'], (config): any => {
|
|
11
|
+
const newConfig = { ...config, timeout: newTimeout };
|
|
12
|
+
|
|
13
|
+
return newConfig;
|
|
13
14
|
});
|
|
14
15
|
};
|
|
15
16
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
-
import { useQueryConfig } from '../config';
|
|
4
|
+
import { useEnvironmentVariables, useQueryConfig } from '../config';
|
|
5
5
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
6
6
|
import { HttpMethod, makeRequest } from '../request';
|
|
7
7
|
|
|
@@ -9,7 +9,9 @@ export const useDeleteRequest = <TResponse>() => {
|
|
|
9
9
|
const [requestPath, updateDeletePath] = useState<string>('');
|
|
10
10
|
const [options, setOptions] = useState<any>();
|
|
11
11
|
|
|
12
|
-
const {
|
|
12
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
13
|
+
|
|
14
|
+
const { headers } = useQueryConfig();
|
|
13
15
|
|
|
14
16
|
const query = useQuery<any, any, IRequestSuccess<TResponse>>(
|
|
15
17
|
[requestPath, {}],
|
|
@@ -20,8 +22,8 @@ export const useDeleteRequest = <TResponse>() => {
|
|
|
20
22
|
path: requestPath,
|
|
21
23
|
headers,
|
|
22
24
|
method: HttpMethod.DELETE,
|
|
23
|
-
baseURL,
|
|
24
|
-
timeout,
|
|
25
|
+
baseURL: API_URL,
|
|
26
|
+
timeout: TIMEOUT,
|
|
25
27
|
});
|
|
26
28
|
if (postResponse.status) {
|
|
27
29
|
res(postResponse as IRequestSuccess<TResponse>);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
3
3
|
import { startTransition, useEffect, useMemo, useState } from 'react';
|
|
4
|
-
import { useQueryConfig } from '../config';
|
|
4
|
+
import { useEnvironmentVariables, useQueryConfig } from '../config';
|
|
5
5
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
6
6
|
import { makeRequest } from '../request';
|
|
7
7
|
import type { IPagination, TanstackQueryOption } from './queries.interface';
|
|
@@ -21,7 +21,8 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
21
21
|
const [options, setOptions] = useState<any>(queryOptions);
|
|
22
22
|
const [page, setPage] = useState<number>(1);
|
|
23
23
|
|
|
24
|
-
const {
|
|
24
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
25
|
+
const { headers } = useQueryConfig();
|
|
25
26
|
|
|
26
27
|
let queryClient = useQueryClient();
|
|
27
28
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -39,8 +40,8 @@ export const useGetRequest = <TResponse extends Record<string, any>>({
|
|
|
39
40
|
const postResponse = await makeRequest<TResponse>({
|
|
40
41
|
path: requestPath,
|
|
41
42
|
headers,
|
|
42
|
-
baseURL,
|
|
43
|
-
timeout,
|
|
43
|
+
baseURL: API_URL,
|
|
44
|
+
timeout: TIMEOUT,
|
|
44
45
|
});
|
|
45
46
|
if (postResponse.status) {
|
|
46
47
|
res(postResponse as IRequestSuccess<TResponse>);
|
|
@@ -3,14 +3,15 @@ import { useMutation } from '@tanstack/react-query';
|
|
|
3
3
|
import { scrollToTop } from '../helpers';
|
|
4
4
|
import { HttpMethod, makeRequest } from '../request';
|
|
5
5
|
|
|
6
|
-
import { useQueryConfig } from '../config';
|
|
6
|
+
import { useEnvironmentVariables, useQueryConfig } from '../config';
|
|
7
7
|
import type {
|
|
8
8
|
IRequestError,
|
|
9
9
|
IRequestSuccess,
|
|
10
10
|
} from '../request/request.interface';
|
|
11
11
|
|
|
12
12
|
export const usePatchRequest = <TResponse>({ path }: { path: string }) => {
|
|
13
|
-
const {
|
|
13
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
14
|
+
const { headers } = useQueryConfig();
|
|
14
15
|
|
|
15
16
|
// register post mutation
|
|
16
17
|
const mutation = useMutation<IRequestSuccess<TResponse>, IRequestError>(
|
|
@@ -21,8 +22,8 @@ export const usePatchRequest = <TResponse>({ path }: { path: string }) => {
|
|
|
21
22
|
body: postData,
|
|
22
23
|
method: HttpMethod.PATCH,
|
|
23
24
|
headers,
|
|
24
|
-
baseURL,
|
|
25
|
-
timeout,
|
|
25
|
+
baseURL: API_URL,
|
|
26
|
+
timeout: TIMEOUT,
|
|
26
27
|
}).then((postResponse) => {
|
|
27
28
|
if (postResponse.status) {
|
|
28
29
|
// scroll to top after success
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MutateOptions } from '@tanstack/react-query';
|
|
2
2
|
import { useMutation } from '@tanstack/react-query';
|
|
3
|
-
import { useQueryConfig } from '../config';
|
|
3
|
+
import { useEnvironmentVariables, useQueryConfig } from '../config';
|
|
4
4
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
5
5
|
import { HttpMethod, makeRequest } from '../request';
|
|
6
6
|
|
|
@@ -11,7 +11,9 @@ export const usePostRequest = <TResponse>({
|
|
|
11
11
|
path: string;
|
|
12
12
|
isFormData?: boolean;
|
|
13
13
|
}) => {
|
|
14
|
-
const {
|
|
14
|
+
const { API_URL, TIMEOUT } = useEnvironmentVariables();
|
|
15
|
+
|
|
16
|
+
const { headers } = useQueryConfig();
|
|
15
17
|
|
|
16
18
|
// register post mutation
|
|
17
19
|
const mutation = useMutation<IRequestSuccess<TResponse>, IRequestError>(
|
|
@@ -23,8 +25,8 @@ export const usePostRequest = <TResponse>({
|
|
|
23
25
|
method: HttpMethod.POST,
|
|
24
26
|
isFormData,
|
|
25
27
|
headers,
|
|
26
|
-
baseURL,
|
|
27
|
-
timeout,
|
|
28
|
+
baseURL: API_URL,
|
|
29
|
+
timeout: TIMEOUT,
|
|
28
30
|
}).then((postResponse) => {
|
|
29
31
|
if (postResponse.status) {
|
|
30
32
|
// scroll to top after success
|