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