@ventlio/tanstack-query 0.4.2 → 0.5.1
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/index.mjs +30 -20
- package/dist/index.mjs.map +1 -1
- package/dist/model/useKeyTrackerModel.d.ts +1 -1
- package/dist/model/useQueryModel.d.ts +1 -1
- package/dist/model/useQueryModel.js +6 -6
- package/dist/model/useRefetchQuery.d.ts +1 -1
- package/dist/model/useRefetchQuery.js +1 -1
- package/dist/queries/useDeleteRequest.d.ts +6 -66
- package/dist/queries/useDeleteRequest.js +7 -3
- package/dist/queries/useDeleteRequest.js.map +1 -1
- package/dist/queries/useGetInfiniteRequest.d.ts +25 -109
- package/dist/queries/useGetInfiniteRequest.js +3 -2
- package/dist/queries/useGetInfiniteRequest.js.map +1 -1
- package/dist/queries/useGetRequest.d.ts +6 -74
- package/dist/queries/useGetRequest.js +3 -2
- package/dist/queries/useGetRequest.js.map +1 -1
- package/dist/queries/usePatchRequest.d.ts +21 -13
- package/dist/queries/usePatchRequest.js +7 -4
- package/dist/queries/usePatchRequest.js.map +1 -1
- package/dist/queries/usePostRequest.d.ts +30 -25
- package/dist/queries/usePostRequest.js +3 -2
- package/dist/queries/usePostRequest.js.map +1 -1
- package/package.json +2 -2
- package/src/model/useKeyTrackerModel.ts +2 -2
- package/src/model/useQueryModel.ts +7 -7
- package/src/model/useRefetchQuery.ts +1 -1
- package/src/queries/useDeleteRequest.ts +7 -7
- package/src/queries/useGetInfiniteRequest.ts +14 -19
- package/src/queries/useGetRequest.ts +6 -9
- package/src/queries/usePatchRequest.ts +5 -5
- package/src/queries/usePostRequest.ts +4 -2
package/dist/index.mjs
CHANGED
|
@@ -123,7 +123,7 @@ const useKeyTrackerModel = (keyTracker) => {
|
|
|
123
123
|
return { refetchQuery, getQueryKey };
|
|
124
124
|
};
|
|
125
125
|
|
|
126
|
-
const useQueryModel = (keyTracker
|
|
126
|
+
const useQueryModel = (keyTracker) => {
|
|
127
127
|
const queryClient = useQueryClient();
|
|
128
128
|
const { getQueryKey } = useKeyTrackerModel(keyTracker);
|
|
129
129
|
const queryKey = getQueryKey();
|
|
@@ -141,13 +141,13 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
141
141
|
queryClient.setQueryData(queryKey, records);
|
|
142
142
|
}
|
|
143
143
|
else {
|
|
144
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
144
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
145
145
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, records));
|
|
146
146
|
}
|
|
147
147
|
return data;
|
|
148
148
|
};
|
|
149
149
|
const findAll = (path) => {
|
|
150
|
-
const data = queryClient.getQueryData(queryKey
|
|
150
|
+
const data = queryClient.getQueryData(queryKey);
|
|
151
151
|
if (!data) {
|
|
152
152
|
return [];
|
|
153
153
|
}
|
|
@@ -169,7 +169,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
169
169
|
return data.find((record) => record[modelConfig.idColumn] === id);
|
|
170
170
|
};
|
|
171
171
|
const get = (path) => {
|
|
172
|
-
let data = queryClient.getQueryData(queryKey
|
|
172
|
+
let data = queryClient.getQueryData(queryKey);
|
|
173
173
|
if (path) {
|
|
174
174
|
data = result(data, path);
|
|
175
175
|
}
|
|
@@ -207,7 +207,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
207
207
|
queryClient.setQueryData(queryKey, newData);
|
|
208
208
|
}
|
|
209
209
|
else {
|
|
210
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
210
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
211
211
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
|
|
212
212
|
}
|
|
213
213
|
return updatedRecord;
|
|
@@ -232,7 +232,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
232
232
|
queryClient.setQueryData(queryKey, newData);
|
|
233
233
|
}
|
|
234
234
|
else {
|
|
235
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
235
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
236
236
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
|
|
237
237
|
}
|
|
238
238
|
return updated;
|
|
@@ -247,7 +247,7 @@ const useRefetchQuery = async (queryKey) => {
|
|
|
247
247
|
queryKey: innerQueryKey ?? queryKey,
|
|
248
248
|
exact: true,
|
|
249
249
|
}, { throwOnError: true, cancelRefetch: true });
|
|
250
|
-
return queryClient.getQueriesData(innerQueryKey ?? queryKey);
|
|
250
|
+
return queryClient.getQueriesData({ queryKey: innerQueryKey ?? queryKey });
|
|
251
251
|
};
|
|
252
252
|
return { refetchQuery };
|
|
253
253
|
};
|
|
@@ -451,7 +451,12 @@ const useDeleteRequest = (deleteOptions) => {
|
|
|
451
451
|
rej(null);
|
|
452
452
|
}
|
|
453
453
|
};
|
|
454
|
-
const query = useQuery(
|
|
454
|
+
const query = useQuery({
|
|
455
|
+
queryKey: [requestPath, {}],
|
|
456
|
+
queryFn: ({ queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey)),
|
|
457
|
+
enabled: false,
|
|
458
|
+
...options,
|
|
459
|
+
});
|
|
455
460
|
const updatedPathAsync = async (link) => {
|
|
456
461
|
return setRequestPath(link);
|
|
457
462
|
};
|
|
@@ -461,8 +466,7 @@ const useDeleteRequest = (deleteOptions) => {
|
|
|
461
466
|
const destroy = async (link, internalDeleteOptions) => {
|
|
462
467
|
if (!isFutureQueriesPaused) {
|
|
463
468
|
// set enabled to be true for every delete
|
|
464
|
-
internalDeleteOptions = internalDeleteOptions ?? {};
|
|
465
|
-
internalDeleteOptions.enabled = true;
|
|
469
|
+
internalDeleteOptions = internalDeleteOptions ?? { queryKey: [] };
|
|
466
470
|
await setOptionsAsync(internalDeleteOptions);
|
|
467
471
|
await updatedPathAsync(link);
|
|
468
472
|
return query.data;
|
|
@@ -534,7 +538,9 @@ const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, b
|
|
|
534
538
|
queryParams.set('page', String(lastPageItem));
|
|
535
539
|
return pathname + '?' + queryParams.toString();
|
|
536
540
|
};
|
|
537
|
-
const query = useInfiniteQuery(
|
|
541
|
+
const query = useInfiniteQuery({
|
|
542
|
+
queryKey: [requestPath, {}],
|
|
543
|
+
queryFn: ({ pageParam = requestPath, queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey, pageParam)),
|
|
538
544
|
enabled: load && !isFutureQueriesPaused,
|
|
539
545
|
getNextPageParam: (lastPage) => constructPaginationLink('next_page', lastPage),
|
|
540
546
|
getPreviousPageParam: (lastPage) => constructPaginationLink('previous_page', lastPage),
|
|
@@ -572,7 +578,6 @@ const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, b
|
|
|
572
578
|
if (keyTracker) {
|
|
573
579
|
// set expiration time for the tracker
|
|
574
580
|
queryClient.setQueryDefaults([keyTracker], {
|
|
575
|
-
cacheTime: Infinity,
|
|
576
581
|
staleTime: Infinity,
|
|
577
582
|
});
|
|
578
583
|
queryClient.setQueryData([keyTracker], [requestPath, {}]);
|
|
@@ -628,7 +633,9 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
628
633
|
res(null);
|
|
629
634
|
}
|
|
630
635
|
};
|
|
631
|
-
const query = useQuery(
|
|
636
|
+
const query = useQuery({
|
|
637
|
+
queryKey: [requestPath, {}],
|
|
638
|
+
queryFn: ({ queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey)),
|
|
632
639
|
enabled: load && !isFutureQueriesPaused,
|
|
633
640
|
...options,
|
|
634
641
|
});
|
|
@@ -641,7 +648,6 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
|
|
|
641
648
|
if (keyTracker) {
|
|
642
649
|
// set expiration time for the tracker
|
|
643
650
|
queryClient.setQueryDefaults([keyTracker], {
|
|
644
|
-
cacheTime: Infinity,
|
|
645
651
|
staleTime: Infinity,
|
|
646
652
|
});
|
|
647
653
|
queryClient.setQueryData([keyTracker], [requestPath, {}]);
|
|
@@ -766,9 +772,12 @@ const usePatchRequest = ({ path, baseUrl, headers }) => {
|
|
|
766
772
|
}
|
|
767
773
|
};
|
|
768
774
|
// register post mutation
|
|
769
|
-
const mutation = useMutation(
|
|
770
|
-
|
|
771
|
-
|
|
775
|
+
const mutation = useMutation({
|
|
776
|
+
mutationFn: (dataData) => new Promise((res, rej) => {
|
|
777
|
+
return sendRequest(res, rej, dataData);
|
|
778
|
+
}),
|
|
779
|
+
mutationKey: [path, { type: 'mutation' }],
|
|
780
|
+
});
|
|
772
781
|
const patch = async (data, options) => {
|
|
773
782
|
if (!isFutureMutationsPaused) {
|
|
774
783
|
return mutation.mutateAsync(data, options);
|
|
@@ -785,7 +794,7 @@ const usePatchRequest = ({ path, baseUrl, headers }) => {
|
|
|
785
794
|
}
|
|
786
795
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
787
796
|
}, [isFutureMutationsPaused]);
|
|
788
|
-
return { patch, uploadProgressPercent, ...mutation, isLoading: mutation.
|
|
797
|
+
return { patch, uploadProgressPercent, ...mutation, isLoading: mutation.isPending || isFutureMutationsPaused };
|
|
789
798
|
};
|
|
790
799
|
|
|
791
800
|
const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelectors, }) => {
|
|
@@ -844,7 +853,8 @@ const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelect
|
|
|
844
853
|
}
|
|
845
854
|
};
|
|
846
855
|
// register post mutation
|
|
847
|
-
const mutation = useMutation(
|
|
856
|
+
const mutation = useMutation({
|
|
857
|
+
mutationFn: async (postData) => new Promise((res, rej) => sendRequest(res, rej, postData)),
|
|
848
858
|
mutationKey: [path, { type: 'mutation' }],
|
|
849
859
|
});
|
|
850
860
|
const post = async (data, options) => {
|
|
@@ -864,7 +874,7 @@ const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelect
|
|
|
864
874
|
}
|
|
865
875
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
866
876
|
}, [isFutureMutationsPaused]);
|
|
867
|
-
return { post, uploadProgressPercent, ...mutation, isLoading: mutation.
|
|
877
|
+
return { post, uploadProgressPercent, ...mutation, isLoading: mutation.isPending || isFutureMutationsPaused };
|
|
868
878
|
};
|
|
869
879
|
|
|
870
880
|
export { ContentType, HttpMethod, axiosInstance, bootstrapQueryRequest, buildFormData, errorTransformer, getDateInFuture, makeRequest, scrollToTop, successTransformer, useDeleteRequest, useEnvironmentVariables, useGetInfiniteRequest, useGetRequest, useHeaderStore, useKeyTrackerModel, usePatchRequest, usePauseFutureRequests, usePostRequest, useQueryConfig, useQueryHeaders, useQueryModel, useReactNativeEnv, useRefetchQuery, useUploadProgress };
|
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,2 +1,2 @@
|
|
|
1
1
|
import type { QueryModelBuilder } from './model.interface';
|
|
2
|
-
export declare const useQueryModel: <T>(keyTracker: string
|
|
2
|
+
export declare const useQueryModel: <T>(keyTracker: string) => QueryModelBuilder<T>;
|
|
@@ -7,7 +7,7 @@ import '../stores/useHeaderStore.js';
|
|
|
7
7
|
import '../stores/usePauseFutureRequests.js';
|
|
8
8
|
import { useKeyTrackerModel } from './useKeyTrackerModel.js';
|
|
9
9
|
|
|
10
|
-
const useQueryModel = (keyTracker
|
|
10
|
+
const useQueryModel = (keyTracker) => {
|
|
11
11
|
const queryClient = useQueryClient();
|
|
12
12
|
const { getQueryKey } = useKeyTrackerModel(keyTracker);
|
|
13
13
|
const queryKey = getQueryKey();
|
|
@@ -25,13 +25,13 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
25
25
|
queryClient.setQueryData(queryKey, records);
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
28
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
29
29
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, records));
|
|
30
30
|
}
|
|
31
31
|
return data;
|
|
32
32
|
};
|
|
33
33
|
const findAll = (path) => {
|
|
34
|
-
const data = queryClient.getQueryData(queryKey
|
|
34
|
+
const data = queryClient.getQueryData(queryKey);
|
|
35
35
|
if (!data) {
|
|
36
36
|
return [];
|
|
37
37
|
}
|
|
@@ -53,7 +53,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
53
53
|
return data.find((record) => record[modelConfig.idColumn] === id);
|
|
54
54
|
};
|
|
55
55
|
const get = (path) => {
|
|
56
|
-
let data = queryClient.getQueryData(queryKey
|
|
56
|
+
let data = queryClient.getQueryData(queryKey);
|
|
57
57
|
if (path) {
|
|
58
58
|
data = result(data, path);
|
|
59
59
|
}
|
|
@@ -91,7 +91,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
91
91
|
queryClient.setQueryData(queryKey, newData);
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
94
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
95
95
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
|
|
96
96
|
}
|
|
97
97
|
return updatedRecord;
|
|
@@ -116,7 +116,7 @@ const useQueryModel = (keyTracker, exact = true) => {
|
|
|
116
116
|
queryClient.setQueryData(queryKey, newData);
|
|
117
117
|
}
|
|
118
118
|
else {
|
|
119
|
-
const queryData = queryClient.getQueryData(queryKey
|
|
119
|
+
const queryData = queryClient.getQueryData(queryKey) ?? {};
|
|
120
120
|
queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
|
|
121
121
|
}
|
|
122
122
|
return updated;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const useRefetchQuery: (queryKey: any[]) => Promise<{
|
|
2
|
-
refetchQuery: <T>(innerQueryKey?: any[]) => Promise<[import("@tanstack/
|
|
2
|
+
refetchQuery: <T>(innerQueryKey?: any[]) => Promise<[import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").t, T | undefined][]>;
|
|
3
3
|
}>;
|
|
@@ -7,7 +7,7 @@ const useRefetchQuery = async (queryKey) => {
|
|
|
7
7
|
queryKey: innerQueryKey ?? queryKey,
|
|
8
8
|
exact: true,
|
|
9
9
|
}, { throwOnError: true, cancelRefetch: true });
|
|
10
|
-
return queryClient.getQueriesData(innerQueryKey ?? queryKey);
|
|
10
|
+
return queryClient.getQueriesData({ queryKey: innerQueryKey ?? queryKey });
|
|
11
11
|
};
|
|
12
12
|
return { refetchQuery };
|
|
13
13
|
};
|
|
@@ -6,6 +6,7 @@ export declare const useDeleteRequest: <TResponse>(deleteOptions?: DefaultReques
|
|
|
6
6
|
data: IRequestSuccess<TResponse>;
|
|
7
7
|
error: any;
|
|
8
8
|
isError: true;
|
|
9
|
+
isPending: false;
|
|
9
10
|
isLoadingError: false;
|
|
10
11
|
isRefetchError: true;
|
|
11
12
|
isSuccess: false;
|
|
@@ -21,12 +22,10 @@ export declare const useDeleteRequest: <TResponse>(deleteOptions?: DefaultReques
|
|
|
21
22
|
isInitialLoading: boolean;
|
|
22
23
|
isPaused: boolean;
|
|
23
24
|
isPlaceholderData: boolean;
|
|
24
|
-
isPreviousData: boolean;
|
|
25
25
|
isRefetching: boolean;
|
|
26
26
|
isStale: boolean;
|
|
27
|
-
refetch:
|
|
28
|
-
|
|
29
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
27
|
+
refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a4 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ak<IRequestSuccess<TResponse>, any>>;
|
|
28
|
+
fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
|
|
30
29
|
destroy: (link: string, internalDeleteOptions?: (UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> & {
|
|
31
30
|
cached?: boolean | undefined;
|
|
32
31
|
}) | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
|
|
@@ -35,6 +34,7 @@ export declare const useDeleteRequest: <TResponse>(deleteOptions?: DefaultReques
|
|
|
35
34
|
data: IRequestSuccess<TResponse>;
|
|
36
35
|
error: null;
|
|
37
36
|
isError: false;
|
|
37
|
+
isPending: false;
|
|
38
38
|
isLoadingError: false;
|
|
39
39
|
isRefetchError: false;
|
|
40
40
|
isSuccess: true;
|
|
@@ -50,70 +50,10 @@ export declare const useDeleteRequest: <TResponse>(deleteOptions?: DefaultReques
|
|
|
50
50
|
isInitialLoading: boolean;
|
|
51
51
|
isPaused: boolean;
|
|
52
52
|
isPlaceholderData: boolean;
|
|
53
|
-
isPreviousData: boolean;
|
|
54
53
|
isRefetching: boolean;
|
|
55
54
|
isStale: boolean;
|
|
56
|
-
refetch:
|
|
57
|
-
|
|
58
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
59
|
-
destroy: (link: string, internalDeleteOptions?: (UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> & {
|
|
60
|
-
cached?: boolean | undefined;
|
|
61
|
-
}) | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
|
|
62
|
-
} | {
|
|
63
|
-
isLoading: boolean;
|
|
64
|
-
data: undefined;
|
|
65
|
-
error: any;
|
|
66
|
-
isError: true;
|
|
67
|
-
isLoadingError: true;
|
|
68
|
-
isRefetchError: false;
|
|
69
|
-
isSuccess: false;
|
|
70
|
-
status: "error";
|
|
71
|
-
dataUpdatedAt: number;
|
|
72
|
-
errorUpdatedAt: number;
|
|
73
|
-
failureCount: number;
|
|
74
|
-
failureReason: any;
|
|
75
|
-
errorUpdateCount: number;
|
|
76
|
-
isFetched: boolean;
|
|
77
|
-
isFetchedAfterMount: boolean;
|
|
78
|
-
isFetching: boolean;
|
|
79
|
-
isInitialLoading: boolean;
|
|
80
|
-
isPaused: boolean;
|
|
81
|
-
isPlaceholderData: boolean;
|
|
82
|
-
isPreviousData: boolean;
|
|
83
|
-
isRefetching: boolean;
|
|
84
|
-
isStale: boolean;
|
|
85
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
|
|
86
|
-
remove: () => void;
|
|
87
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
88
|
-
destroy: (link: string, internalDeleteOptions?: (UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> & {
|
|
89
|
-
cached?: boolean | undefined;
|
|
90
|
-
}) | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
|
|
91
|
-
} | {
|
|
92
|
-
isLoading: boolean;
|
|
93
|
-
data: undefined;
|
|
94
|
-
error: null;
|
|
95
|
-
isError: false;
|
|
96
|
-
isLoadingError: false;
|
|
97
|
-
isRefetchError: false;
|
|
98
|
-
isSuccess: false;
|
|
99
|
-
status: "loading";
|
|
100
|
-
dataUpdatedAt: number;
|
|
101
|
-
errorUpdatedAt: number;
|
|
102
|
-
failureCount: number;
|
|
103
|
-
failureReason: any;
|
|
104
|
-
errorUpdateCount: number;
|
|
105
|
-
isFetched: boolean;
|
|
106
|
-
isFetchedAfterMount: boolean;
|
|
107
|
-
isFetching: boolean;
|
|
108
|
-
isInitialLoading: boolean;
|
|
109
|
-
isPaused: boolean;
|
|
110
|
-
isPlaceholderData: boolean;
|
|
111
|
-
isPreviousData: boolean;
|
|
112
|
-
isRefetching: boolean;
|
|
113
|
-
isStale: boolean;
|
|
114
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
|
|
115
|
-
remove: () => void;
|
|
116
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
55
|
+
refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a4 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ak<IRequestSuccess<TResponse>, any>>;
|
|
56
|
+
fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
|
|
117
57
|
destroy: (link: string, internalDeleteOptions?: (UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> & {
|
|
118
58
|
cached?: boolean | undefined;
|
|
119
59
|
}) | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
|
|
@@ -45,7 +45,12 @@ const useDeleteRequest = (deleteOptions) => {
|
|
|
45
45
|
rej(null);
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
const query = useQuery(
|
|
48
|
+
const query = useQuery({
|
|
49
|
+
queryKey: [requestPath, {}],
|
|
50
|
+
queryFn: ({ queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey)),
|
|
51
|
+
enabled: false,
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
49
54
|
const updatedPathAsync = async (link) => {
|
|
50
55
|
return setRequestPath(link);
|
|
51
56
|
};
|
|
@@ -55,8 +60,7 @@ const useDeleteRequest = (deleteOptions) => {
|
|
|
55
60
|
const destroy = async (link, internalDeleteOptions) => {
|
|
56
61
|
if (!isFutureQueriesPaused) {
|
|
57
62
|
// set enabled to be true for every delete
|
|
58
|
-
internalDeleteOptions = internalDeleteOptions ?? {};
|
|
59
|
-
internalDeleteOptions.enabled = true;
|
|
63
|
+
internalDeleteOptions = internalDeleteOptions ?? { queryKey: [] };
|
|
60
64
|
await setOptionsAsync(internalDeleteOptions);
|
|
61
65
|
await updatedPathAsync(link);
|
|
62
66
|
return query.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDeleteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { UseQueryOptions } from '@tanstack/react-query';
|
|
2
2
|
import type { IRequestError, IRequestSuccess } from '../request';
|
|
3
3
|
import type { DefaultRequestOptions, TanstackInfiniteQueryOption } from './queries.interface';
|
|
4
4
|
interface Pagination {
|
|
@@ -18,105 +18,24 @@ export declare const useGetInfiniteRequest: <TResponse extends Record<string, an
|
|
|
18
18
|
keyTracker?: string | undefined;
|
|
19
19
|
} & DefaultRequestOptions) => {
|
|
20
20
|
isLoading: boolean;
|
|
21
|
-
data:
|
|
22
|
-
error: any;
|
|
23
|
-
isError: true;
|
|
24
|
-
isLoadingError: true;
|
|
25
|
-
isRefetchError: false;
|
|
26
|
-
isSuccess: false;
|
|
27
|
-
status: "error";
|
|
28
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions | undefined) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<IRequestSuccess<TResponse & {
|
|
29
|
-
pagination: Pagination;
|
|
30
|
-
}>, any>>;
|
|
31
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions | undefined) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<IRequestSuccess<TResponse & {
|
|
32
|
-
pagination: Pagination;
|
|
33
|
-
}>, any>>;
|
|
34
|
-
hasNextPage?: boolean | undefined;
|
|
35
|
-
hasPreviousPage?: boolean | undefined;
|
|
36
|
-
isFetchingNextPage: boolean;
|
|
37
|
-
isFetchingPreviousPage: boolean;
|
|
38
|
-
dataUpdatedAt: number;
|
|
39
|
-
errorUpdatedAt: number;
|
|
40
|
-
failureCount: number;
|
|
41
|
-
failureReason: any;
|
|
42
|
-
errorUpdateCount: number;
|
|
43
|
-
isFetched: boolean;
|
|
44
|
-
isFetchedAfterMount: boolean;
|
|
45
|
-
isFetching: boolean;
|
|
46
|
-
isInitialLoading: boolean;
|
|
47
|
-
isPaused: boolean;
|
|
48
|
-
isPlaceholderData: boolean;
|
|
49
|
-
isPreviousData: boolean;
|
|
50
|
-
isRefetching: boolean;
|
|
51
|
-
isStale: boolean;
|
|
52
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<IRequestSuccess<TResponse & {
|
|
53
|
-
pagination: Pagination;
|
|
54
|
-
}>>, any>>;
|
|
55
|
-
remove: () => void;
|
|
56
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
57
|
-
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<InfiniteData<IRequestSuccess<TResponse & {
|
|
58
|
-
pagination: Pagination;
|
|
59
|
-
}>> | undefined>;
|
|
60
|
-
} | {
|
|
61
|
-
isLoading: boolean;
|
|
62
|
-
data: undefined;
|
|
63
|
-
error: null;
|
|
64
|
-
isError: false;
|
|
65
|
-
isLoadingError: false;
|
|
66
|
-
isRefetchError: false;
|
|
67
|
-
isSuccess: false;
|
|
68
|
-
status: "loading";
|
|
69
|
-
fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions | undefined) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<IRequestSuccess<TResponse & {
|
|
21
|
+
data: IRequestSuccess<TResponse & {
|
|
70
22
|
pagination: Pagination;
|
|
71
|
-
}
|
|
72
|
-
fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions | undefined) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<IRequestSuccess<TResponse & {
|
|
73
|
-
pagination: Pagination;
|
|
74
|
-
}>, any>>;
|
|
75
|
-
hasNextPage?: boolean | undefined;
|
|
76
|
-
hasPreviousPage?: boolean | undefined;
|
|
77
|
-
isFetchingNextPage: boolean;
|
|
78
|
-
isFetchingPreviousPage: boolean;
|
|
79
|
-
dataUpdatedAt: number;
|
|
80
|
-
errorUpdatedAt: number;
|
|
81
|
-
failureCount: number;
|
|
82
|
-
failureReason: any;
|
|
83
|
-
errorUpdateCount: number;
|
|
84
|
-
isFetched: boolean;
|
|
85
|
-
isFetchedAfterMount: boolean;
|
|
86
|
-
isFetching: boolean;
|
|
87
|
-
isInitialLoading: boolean;
|
|
88
|
-
isPaused: boolean;
|
|
89
|
-
isPlaceholderData: boolean;
|
|
90
|
-
isPreviousData: boolean;
|
|
91
|
-
isRefetching: boolean;
|
|
92
|
-
isStale: boolean;
|
|
93
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<InfiniteData<IRequestSuccess<TResponse & {
|
|
94
|
-
pagination: Pagination;
|
|
95
|
-
}>>, any>>;
|
|
96
|
-
remove: () => void;
|
|
97
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
98
|
-
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<InfiniteData<IRequestSuccess<TResponse & {
|
|
99
|
-
pagination: Pagination;
|
|
100
|
-
}>> | undefined>;
|
|
101
|
-
} | {
|
|
102
|
-
isLoading: boolean;
|
|
103
|
-
data: InfiniteData<IRequestSuccess<TResponse & {
|
|
104
|
-
pagination: Pagination;
|
|
105
|
-
}>>;
|
|
23
|
+
}>;
|
|
106
24
|
error: any;
|
|
107
25
|
isError: true;
|
|
26
|
+
isPending: false;
|
|
108
27
|
isLoadingError: false;
|
|
109
28
|
isRefetchError: true;
|
|
110
29
|
isSuccess: false;
|
|
111
30
|
status: "error";
|
|
112
|
-
fetchNextPage: (options?: import("@tanstack/
|
|
31
|
+
fetchNextPage: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a9 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").as<IRequestSuccess<TResponse & {
|
|
113
32
|
pagination: Pagination;
|
|
114
33
|
}>, any>>;
|
|
115
|
-
fetchPreviousPage: (options?: import("@tanstack/
|
|
34
|
+
fetchPreviousPage: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").aa | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").as<IRequestSuccess<TResponse & {
|
|
116
35
|
pagination: Pagination;
|
|
117
36
|
}>, any>>;
|
|
118
|
-
hasNextPage
|
|
119
|
-
hasPreviousPage
|
|
37
|
+
hasNextPage: boolean;
|
|
38
|
+
hasPreviousPage: boolean;
|
|
120
39
|
isFetchingNextPage: boolean;
|
|
121
40
|
isFetchingPreviousPage: boolean;
|
|
122
41
|
dataUpdatedAt: number;
|
|
@@ -130,36 +49,35 @@ export declare const useGetInfiniteRequest: <TResponse extends Record<string, an
|
|
|
130
49
|
isInitialLoading: boolean;
|
|
131
50
|
isPaused: boolean;
|
|
132
51
|
isPlaceholderData: boolean;
|
|
133
|
-
isPreviousData: boolean;
|
|
134
52
|
isRefetching: boolean;
|
|
135
53
|
isStale: boolean;
|
|
136
|
-
refetch:
|
|
54
|
+
refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a4 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ak<IRequestSuccess<TResponse & {
|
|
137
55
|
pagination: Pagination;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<InfiniteData<IRequestSuccess<TResponse & {
|
|
56
|
+
}>, any>>;
|
|
57
|
+
fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
|
|
58
|
+
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<IRequestSuccess<TResponse & {
|
|
142
59
|
pagination: Pagination;
|
|
143
|
-
}
|
|
60
|
+
}> | undefined>;
|
|
144
61
|
} | {
|
|
145
62
|
isLoading: boolean;
|
|
146
|
-
data:
|
|
63
|
+
data: IRequestSuccess<TResponse & {
|
|
147
64
|
pagination: Pagination;
|
|
148
|
-
}
|
|
65
|
+
}>;
|
|
149
66
|
error: null;
|
|
150
67
|
isError: false;
|
|
68
|
+
isPending: false;
|
|
151
69
|
isLoadingError: false;
|
|
152
70
|
isRefetchError: false;
|
|
153
71
|
isSuccess: true;
|
|
154
72
|
status: "success";
|
|
155
|
-
fetchNextPage: (options?: import("@tanstack/
|
|
73
|
+
fetchNextPage: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a9 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").as<IRequestSuccess<TResponse & {
|
|
156
74
|
pagination: Pagination;
|
|
157
75
|
}>, any>>;
|
|
158
|
-
fetchPreviousPage: (options?: import("@tanstack/
|
|
76
|
+
fetchPreviousPage: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").aa | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").as<IRequestSuccess<TResponse & {
|
|
159
77
|
pagination: Pagination;
|
|
160
78
|
}>, any>>;
|
|
161
|
-
hasNextPage
|
|
162
|
-
hasPreviousPage
|
|
79
|
+
hasNextPage: boolean;
|
|
80
|
+
hasPreviousPage: boolean;
|
|
163
81
|
isFetchingNextPage: boolean;
|
|
164
82
|
isFetchingPreviousPage: boolean;
|
|
165
83
|
dataUpdatedAt: number;
|
|
@@ -173,16 +91,14 @@ export declare const useGetInfiniteRequest: <TResponse extends Record<string, an
|
|
|
173
91
|
isInitialLoading: boolean;
|
|
174
92
|
isPaused: boolean;
|
|
175
93
|
isPlaceholderData: boolean;
|
|
176
|
-
isPreviousData: boolean;
|
|
177
94
|
isRefetching: boolean;
|
|
178
95
|
isStale: boolean;
|
|
179
|
-
refetch:
|
|
96
|
+
refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").a4 | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ak<IRequestSuccess<TResponse & {
|
|
180
97
|
pagination: Pagination;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<InfiniteData<IRequestSuccess<TResponse & {
|
|
98
|
+
}>, any>>;
|
|
99
|
+
fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
|
|
100
|
+
get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<IRequestSuccess<TResponse & {
|
|
185
101
|
pagination: Pagination;
|
|
186
|
-
}
|
|
102
|
+
}> | undefined>;
|
|
187
103
|
};
|
|
188
104
|
export {};
|
|
@@ -61,7 +61,9 @@ const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, b
|
|
|
61
61
|
queryParams.set('page', String(lastPageItem));
|
|
62
62
|
return pathname + '?' + queryParams.toString();
|
|
63
63
|
};
|
|
64
|
-
const query = useInfiniteQuery(
|
|
64
|
+
const query = useInfiniteQuery({
|
|
65
|
+
queryKey: [requestPath, {}],
|
|
66
|
+
queryFn: ({ pageParam = requestPath, queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey, pageParam)),
|
|
65
67
|
enabled: load && !isFutureQueriesPaused,
|
|
66
68
|
getNextPageParam: (lastPage) => constructPaginationLink('next_page', lastPage),
|
|
67
69
|
getPreviousPageParam: (lastPage) => constructPaginationLink('previous_page', lastPage),
|
|
@@ -99,7 +101,6 @@ const useGetInfiniteRequest = ({ path, load = false, queryOptions, keyTracker, b
|
|
|
99
101
|
if (keyTracker) {
|
|
100
102
|
// set expiration time for the tracker
|
|
101
103
|
queryClient.setQueryDefaults([keyTracker], {
|
|
102
|
-
cacheTime: Infinity,
|
|
103
104
|
staleTime: Infinity,
|
|
104
105
|
});
|
|
105
106
|
queryClient.setQueryData([keyTracker], [requestPath, {}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|