@ventlio/tanstack-query 0.4.0 → 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.
Files changed (34) hide show
  1. package/dist/index.mjs +41 -50
  2. package/dist/index.mjs.map +1 -1
  3. package/dist/model/useKeyTrackerModel.d.ts +1 -1
  4. package/dist/model/useQueryModel.d.ts +1 -1
  5. package/dist/model/useQueryModel.js +6 -6
  6. package/dist/model/useRefetchQuery.d.ts +1 -1
  7. package/dist/model/useRefetchQuery.js +1 -1
  8. package/dist/queries/useDeleteRequest.d.ts +66 -6
  9. package/dist/queries/useDeleteRequest.js +3 -7
  10. package/dist/queries/useDeleteRequest.js.map +1 -1
  11. package/dist/queries/useGetInfiniteRequest.d.ts +109 -25
  12. package/dist/queries/useGetInfiniteRequest.js +2 -3
  13. package/dist/queries/useGetInfiniteRequest.js.map +1 -1
  14. package/dist/queries/useGetRequest.d.ts +74 -6
  15. package/dist/queries/useGetRequest.js +2 -3
  16. package/dist/queries/useGetRequest.js.map +1 -1
  17. package/dist/queries/usePatchRequest.d.ts +13 -21
  18. package/dist/queries/usePatchRequest.js +4 -7
  19. package/dist/queries/usePatchRequest.js.map +1 -1
  20. package/dist/queries/usePostRequest.d.ts +25 -30
  21. package/dist/queries/usePostRequest.js +2 -3
  22. package/dist/queries/usePostRequest.js.map +1 -1
  23. package/dist/request/make-request.js +21 -20
  24. package/dist/request/make-request.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/model/useKeyTrackerModel.ts +2 -2
  27. package/src/model/useQueryModel.ts +7 -7
  28. package/src/model/useRefetchQuery.ts +1 -1
  29. package/src/queries/useDeleteRequest.ts +7 -7
  30. package/src/queries/useGetInfiniteRequest.ts +19 -14
  31. package/src/queries/useGetRequest.ts +9 -6
  32. package/src/queries/usePatchRequest.ts +5 -5
  33. package/src/queries/usePostRequest.ts +2 -4
  34. package/src/request/make-request.ts +22 -18
@@ -1 +1 @@
1
- {"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useGetInfiniteRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -19,7 +19,6 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
19
19
  data: IRequestSuccess<TResponse>;
20
20
  error: any;
21
21
  isError: true;
22
- isPending: false;
23
22
  isLoadingError: false;
24
23
  isRefetchError: true;
25
24
  isSuccess: false;
@@ -35,10 +34,12 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
35
34
  isInitialLoading: boolean;
36
35
  isPaused: boolean;
37
36
  isPlaceholderData: boolean;
37
+ isPreviousData: boolean;
38
38
  isRefetching: boolean;
39
39
  isStale: boolean;
40
- 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>>;
41
- fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
40
+ refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
41
+ remove: () => void;
42
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
42
43
  } | {
43
44
  isLoading: boolean;
44
45
  setRequestPath: import("react").Dispatch<import("react").SetStateAction<string>>;
@@ -51,7 +52,6 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
51
52
  data: IRequestSuccess<TResponse>;
52
53
  error: null;
53
54
  isError: false;
54
- isPending: false;
55
55
  isLoadingError: false;
56
56
  isRefetchError: false;
57
57
  isSuccess: true;
@@ -67,8 +67,76 @@ export declare const useGetRequest: <TResponse extends Record<string, any>>({ pa
67
67
  isInitialLoading: boolean;
68
68
  isPaused: boolean;
69
69
  isPlaceholderData: boolean;
70
+ isPreviousData: boolean;
70
71
  isRefetching: boolean;
71
72
  isStale: boolean;
72
- 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>>;
73
- fetchStatus: import("@tanstack/query-core/build/legacy/queryClient-K0zFyarY").ac;
73
+ refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
74
+ remove: () => void;
75
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
76
+ } | {
77
+ isLoading: boolean;
78
+ setRequestPath: import("react").Dispatch<import("react").SetStateAction<string>>;
79
+ nextPage: () => void;
80
+ prevPage: () => void;
81
+ get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
82
+ gotoPage: (pageNumber: number) => void;
83
+ page: number;
84
+ queryKey: {}[];
85
+ data: undefined;
86
+ error: any;
87
+ isError: true;
88
+ isLoadingError: true;
89
+ isRefetchError: false;
90
+ isSuccess: false;
91
+ status: "error";
92
+ dataUpdatedAt: number;
93
+ errorUpdatedAt: number;
94
+ failureCount: number;
95
+ failureReason: any;
96
+ errorUpdateCount: number;
97
+ isFetched: boolean;
98
+ isFetchedAfterMount: boolean;
99
+ isFetching: boolean;
100
+ isInitialLoading: boolean;
101
+ isPaused: boolean;
102
+ isPlaceholderData: boolean;
103
+ isPreviousData: boolean;
104
+ isRefetching: boolean;
105
+ isStale: boolean;
106
+ refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
107
+ remove: () => void;
108
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
109
+ } | {
110
+ isLoading: boolean;
111
+ setRequestPath: import("react").Dispatch<import("react").SetStateAction<string>>;
112
+ nextPage: () => void;
113
+ prevPage: () => void;
114
+ get: (link: string, fetchOptions?: UseQueryOptions<IRequestSuccess<TResponse | undefined>, IRequestError, IRequestSuccess<TResponse | undefined>, any[]> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
115
+ gotoPage: (pageNumber: number) => void;
116
+ page: number;
117
+ queryKey: {}[];
118
+ data: undefined;
119
+ error: null;
120
+ isError: false;
121
+ isLoadingError: false;
122
+ isRefetchError: false;
123
+ isSuccess: false;
124
+ status: "loading";
125
+ dataUpdatedAt: number;
126
+ errorUpdatedAt: number;
127
+ failureCount: number;
128
+ failureReason: any;
129
+ errorUpdateCount: number;
130
+ isFetched: boolean;
131
+ isFetchedAfterMount: boolean;
132
+ isFetching: boolean;
133
+ isInitialLoading: boolean;
134
+ isPaused: boolean;
135
+ isPlaceholderData: boolean;
136
+ isPreviousData: boolean;
137
+ isRefetching: boolean;
138
+ isStale: boolean;
139
+ refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<IRequestSuccess<TResponse>, any>>;
140
+ remove: () => void;
141
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
74
142
  };
@@ -52,9 +52,7 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
52
52
  res(null);
53
53
  }
54
54
  };
55
- const query = useQuery({
56
- queryKey: [requestPath, {}],
57
- queryFn: ({ queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey)),
55
+ const query = useQuery([requestPath, {}], ({ queryKey }) => new Promise((res, rej) => sendRequest(res, rej, queryKey)), {
58
56
  enabled: load && !isFutureQueriesPaused,
59
57
  ...options,
60
58
  });
@@ -67,6 +65,7 @@ const useGetRequest = ({ path, load = false, queryOptions, keyTracker, baseUrl,
67
65
  if (keyTracker) {
68
66
  // set expiration time for the tracker
69
67
  queryClient.setQueryDefaults([keyTracker], {
68
+ cacheTime: Infinity,
70
69
  staleTime: Infinity,
71
70
  });
72
71
  queryClient.setQueryData([keyTracker], [requestPath, {}]);
@@ -1 +1 @@
1
- {"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useGetRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,81 +6,73 @@ export declare const usePatchRequest: <TResponse>({ path, baseUrl, headers }: {
6
6
  } & DefaultRequestOptions) => {
7
7
  isLoading: boolean;
8
8
  data: undefined;
9
- variables: undefined;
10
9
  error: null;
11
10
  isError: false;
12
11
  isIdle: true;
13
- isPending: false;
14
12
  isSuccess: false;
15
13
  status: "idle";
16
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
14
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
17
15
  reset: () => void;
18
16
  context: unknown;
19
17
  failureCount: number;
20
18
  failureReason: IRequestError | null;
21
19
  isPaused: boolean;
22
- submittedAt: number;
23
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
20
+ variables: void | undefined;
21
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
24
22
  patch: (data: any, options?: MutateOptions<IRequestSuccess<TResponse>, IRequestError, void, unknown> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
25
23
  uploadProgressPercent: number;
26
24
  } | {
27
25
  isLoading: boolean;
28
26
  data: undefined;
29
- variables: void;
30
27
  error: null;
31
28
  isError: false;
32
29
  isIdle: false;
33
- isPending: true;
34
30
  isSuccess: false;
35
- status: "pending";
36
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
31
+ status: "loading";
32
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
37
33
  reset: () => void;
38
34
  context: unknown;
39
35
  failureCount: number;
40
36
  failureReason: IRequestError | null;
41
37
  isPaused: boolean;
42
- submittedAt: number;
43
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
38
+ variables: void | undefined;
39
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
44
40
  patch: (data: any, options?: MutateOptions<IRequestSuccess<TResponse>, IRequestError, void, unknown> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
45
41
  uploadProgressPercent: number;
46
42
  } | {
47
43
  isLoading: boolean;
48
44
  data: undefined;
49
45
  error: IRequestError;
50
- variables: void;
51
46
  isError: true;
52
47
  isIdle: false;
53
- isPending: false;
54
48
  isSuccess: false;
55
49
  status: "error";
56
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
50
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
57
51
  reset: () => void;
58
52
  context: unknown;
59
53
  failureCount: number;
60
54
  failureReason: IRequestError | null;
61
55
  isPaused: boolean;
62
- submittedAt: number;
63
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
56
+ variables: void | undefined;
57
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
64
58
  patch: (data: any, options?: MutateOptions<IRequestSuccess<TResponse>, IRequestError, void, unknown> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
65
59
  uploadProgressPercent: number;
66
60
  } | {
67
61
  isLoading: boolean;
68
62
  data: IRequestSuccess<TResponse>;
69
63
  error: null;
70
- variables: void;
71
64
  isError: false;
72
65
  isIdle: false;
73
- isPending: false;
74
66
  isSuccess: true;
75
67
  status: "success";
76
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
68
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
77
69
  reset: () => void;
78
70
  context: unknown;
79
71
  failureCount: number;
80
72
  failureReason: IRequestError | null;
81
73
  isPaused: boolean;
82
- submittedAt: number;
83
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
74
+ variables: void | undefined;
75
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, void, unknown>;
84
76
  patch: (data: any, options?: MutateOptions<IRequestSuccess<TResponse>, IRequestError, void, unknown> | undefined) => Promise<IRequestSuccess<TResponse> | undefined>;
85
77
  uploadProgressPercent: number;
86
78
  };
@@ -58,12 +58,9 @@ const usePatchRequest = ({ path, baseUrl, headers }) => {
58
58
  }
59
59
  };
60
60
  // register post mutation
61
- const mutation = useMutation({
62
- mutationFn: (dataData) => new Promise((res, rej) => {
63
- return sendRequest(res, rej, dataData);
64
- }),
65
- mutationKey: [path, { type: 'mutation' }],
66
- });
61
+ const mutation = useMutation((dataData) => new Promise((res, rej) => {
62
+ return sendRequest(res, rej, dataData);
63
+ }), { mutationKey: [path, { type: 'mutation' }] });
67
64
  const patch = async (data, options) => {
68
65
  if (!isFutureMutationsPaused) {
69
66
  return mutation.mutateAsync(data, options);
@@ -80,7 +77,7 @@ const usePatchRequest = ({ path, baseUrl, headers }) => {
80
77
  }
81
78
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
79
  }, [isFutureMutationsPaused]);
83
- return { patch, uploadProgressPercent, ...mutation, isLoading: mutation.isPending || isFutureMutationsPaused };
80
+ return { patch, uploadProgressPercent, ...mutation, isLoading: mutation.isLoading || isFutureMutationsPaused };
84
81
  };
85
82
 
86
83
  export { usePatchRequest };
@@ -1 +1 @@
1
- {"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"usePatchRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,14 +8,12 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
8
8
  } & DefaultRequestOptions) => {
9
9
  isLoading: boolean;
10
10
  data: undefined;
11
- variables: undefined;
12
11
  error: null;
13
12
  isError: false;
14
13
  isIdle: true;
15
- isPending: false;
16
14
  isSuccess: false;
17
15
  status: "idle";
18
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
16
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
19
17
  data: any;
20
18
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
21
19
  }, unknown>;
@@ -24,8 +22,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
24
22
  failureCount: number;
25
23
  failureReason: IRequestError | null;
26
24
  isPaused: boolean;
27
- submittedAt: number;
28
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
25
+ variables: {
26
+ data: any;
27
+ requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
28
+ } | undefined;
29
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
29
30
  data: any;
30
31
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
31
32
  }, unknown>;
@@ -43,17 +44,12 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
43
44
  } | {
44
45
  isLoading: boolean;
45
46
  data: undefined;
46
- variables: {
47
- data: any;
48
- requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
49
- };
50
47
  error: null;
51
48
  isError: false;
52
49
  isIdle: false;
53
- isPending: true;
54
50
  isSuccess: false;
55
- status: "pending";
56
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
51
+ status: "loading";
52
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
57
53
  data: any;
58
54
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
59
55
  }, unknown>;
@@ -62,8 +58,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
62
58
  failureCount: number;
63
59
  failureReason: IRequestError | null;
64
60
  isPaused: boolean;
65
- submittedAt: number;
66
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
61
+ variables: {
62
+ data: any;
63
+ requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
64
+ } | undefined;
65
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
67
66
  data: any;
68
67
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
69
68
  }, unknown>;
@@ -82,16 +81,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
82
81
  isLoading: boolean;
83
82
  data: undefined;
84
83
  error: IRequestError;
85
- variables: {
86
- data: any;
87
- requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
88
- };
89
84
  isError: true;
90
85
  isIdle: false;
91
- isPending: false;
92
86
  isSuccess: false;
93
87
  status: "error";
94
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
88
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
95
89
  data: any;
96
90
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
97
91
  }, unknown>;
@@ -100,8 +94,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
100
94
  failureCount: number;
101
95
  failureReason: IRequestError | null;
102
96
  isPaused: boolean;
103
- submittedAt: number;
104
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
97
+ variables: {
98
+ data: any;
99
+ requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
100
+ } | undefined;
101
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
105
102
  data: any;
106
103
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
107
104
  }, unknown>;
@@ -120,16 +117,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
120
117
  isLoading: boolean;
121
118
  data: IRequestSuccess<TResponse>;
122
119
  error: null;
123
- variables: {
124
- data: any;
125
- requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
126
- };
127
120
  isError: false;
128
121
  isIdle: false;
129
- isPending: false;
130
122
  isSuccess: true;
131
123
  status: "success";
132
- mutate: import("@tanstack/react-query/build/legacy/types").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
124
+ mutate: import("@tanstack/react-query").UseMutateFunction<IRequestSuccess<TResponse>, IRequestError, {
133
125
  data: any;
134
126
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
135
127
  }, unknown>;
@@ -138,8 +130,11 @@ export declare const usePostRequest: <TResponse>({ path, isFormData, baseUrl, he
138
130
  failureCount: number;
139
131
  failureReason: IRequestError | null;
140
132
  isPaused: boolean;
141
- submittedAt: number;
142
- mutateAsync: import("@tanstack/react-query/build/legacy/types").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
133
+ variables: {
134
+ data: any;
135
+ requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
136
+ } | undefined;
137
+ mutateAsync: import("@tanstack/react-query").UseMutateAsyncFunction<IRequestSuccess<TResponse>, IRequestError, {
143
138
  data: any;
144
139
  requestConfig?: Partial<Omit<IMakeRequest, "body">> | undefined;
145
140
  }, unknown>;
@@ -68,8 +68,7 @@ const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelect
68
68
  }
69
69
  };
70
70
  // register post mutation
71
- const mutation = useMutation({
72
- mutationFn: async (postData) => new Promise((res, rej) => sendRequest(res, rej, postData)),
71
+ const mutation = useMutation(async (postData) => new Promise((res, rej) => sendRequest(res, rej, postData)), {
73
72
  mutationKey: [path, { type: 'mutation' }],
74
73
  });
75
74
  const post = async (data, options) => {
@@ -89,7 +88,7 @@ const usePostRequest = ({ path, isFormData = false, baseUrl, headers, fileSelect
89
88
  }
90
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
91
90
  }, [isFutureMutationsPaused]);
92
- return { post, uploadProgressPercent, ...mutation, isLoading: mutation.isPending || isFutureMutationsPaused };
91
+ return { post, uploadProgressPercent, ...mutation, isLoading: mutation.isLoading || isFutureMutationsPaused };
93
92
  };
94
93
 
95
94
  export { usePostRequest };
@@ -1 +1 @@
1
- {"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"usePostRequest.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14,35 +14,36 @@ async function makeRequest({ body = {}, method = HttpMethod.GET, path, isFormDat
14
14
  if (!isFormData) {
15
15
  headers['Content-Type'] = ContentType.APPLICATION_JSON;
16
16
  }
17
- else {
18
- if (isApp) {
19
- headers['Content-Type'] = ContentType.MULTIPART_FORM_DATA;
20
- // add the app files
21
- for (const fileKey in appFiles) {
22
- const currentFile = appFiles[fileKey];
23
- if (Array.isArray(currentFile)) {
24
- for (const innerFile of currentFile) {
25
- body.append(fileKey, innerFile);
26
- }
27
- }
28
- else {
29
- body.append(fileKey, currentFile);
17
+ else if (isApp) {
18
+ headers['Content-Type'] = ContentType.MULTIPART_FORM_DATA;
19
+ // add the app files
20
+ for (const fileKey in appFiles) {
21
+ const currentFile = appFiles[fileKey];
22
+ if (Array.isArray(currentFile)) {
23
+ for (const innerFile of currentFile) {
24
+ body.append(fileKey, innerFile);
30
25
  }
31
26
  }
27
+ else {
28
+ body.append(fileKey, currentFile);
29
+ }
32
30
  }
33
- else {
34
- delete headers['Content-Type'];
35
- }
31
+ }
32
+ else {
33
+ delete headers['Content-Type'];
36
34
  }
37
35
  try {
38
36
  const axiosRequest = axiosInstance({ baseURL, headers, timeout });
39
- // send request
40
- const resp = await axiosRequest({
37
+ const axiosRequestConfig = {
41
38
  url: path,
42
39
  method,
43
- data: body,
44
40
  onUploadProgress,
45
- });
41
+ };
42
+ if (Object.keys(body).length > 0) {
43
+ axiosRequestConfig.data = body;
44
+ }
45
+ // send request
46
+ const resp = await axiosRequest(axiosRequestConfig);
46
47
  // get response json
47
48
  const jsonResp = await resp.data;
48
49
  // get response code
@@ -1 +1 @@
1
- {"version":3,"file":"make-request.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"make-request.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ventlio/tanstack-query",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "contributors": [
@@ -47,7 +47,7 @@
47
47
  "@rollup/plugin-json": "^6.0.0",
48
48
  "@rollup/plugin-node-resolve": "^15.0.1",
49
49
  "@rollup/plugin-typescript": "^11.0.0",
50
- "@tanstack/react-query": "^5.29.2",
50
+ "@tanstack/react-query": "^4.26.1",
51
51
  "@testing-library/react": "^13.1",
52
52
  "@testing-library/react-hooks": "^8.0.1",
53
53
  "@types/axios": "^0.14.0",
@@ -1,6 +1,6 @@
1
1
  import { useQueryClient } from '@tanstack/react-query';
2
2
 
3
- export const useKeyTrackerModel = (keyTracker: string) => {
3
+ export const useKeyTrackerModel = <T>(keyTracker: string) => {
4
4
  const queryClient = useQueryClient();
5
5
 
6
6
  const getQueryKey = (innerKeyTracker?: string) => {
@@ -12,7 +12,7 @@ export const useKeyTrackerModel = (keyTracker: string) => {
12
12
  const refetchQuery = async (innerKeyTracker?: string) => {
13
13
  const queryKey: any = getQueryKey(innerKeyTracker ?? keyTracker);
14
14
 
15
- await queryClient.refetchQueries({
15
+ await queryClient.refetchQueries<T>({
16
16
  queryKey,
17
17
  exact: true,
18
18
  });
@@ -5,7 +5,7 @@ import { useQueryConfig } from '../config';
5
5
  import type { QueryModelAddPosition, QueryModelBuilder } from './model.interface';
6
6
  import { useKeyTrackerModel } from './useKeyTrackerModel';
7
7
 
8
- export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
8
+ export const useQueryModel = <T>(keyTracker: string, exact: boolean = true): QueryModelBuilder<T> => {
9
9
  const queryClient = useQueryClient();
10
10
  const { getQueryKey } = useKeyTrackerModel(keyTracker);
11
11
  const queryKey = getQueryKey() as any[];
@@ -24,7 +24,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
24
24
  if (!path) {
25
25
  queryClient.setQueryData(queryKey, records);
26
26
  } else {
27
- const queryData = queryClient.getQueryData(queryKey) ?? {};
27
+ const queryData = queryClient.getQueryData(queryKey, { exact }) ?? {};
28
28
  queryClient.setQueryData(queryKey, lodashSet(queryData, path, records));
29
29
  }
30
30
 
@@ -32,7 +32,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
32
32
  };
33
33
 
34
34
  const findAll = (path?: string): T[] | T | undefined => {
35
- const data = queryClient.getQueryData(queryKey);
35
+ const data = queryClient.getQueryData(queryKey, { exact });
36
36
 
37
37
  if (!data) {
38
38
  return [];
@@ -62,7 +62,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
62
62
  };
63
63
 
64
64
  const get = (path?: string): T | undefined => {
65
- let data = queryClient.getQueryData(queryKey);
65
+ let data = queryClient.getQueryData(queryKey, { exact });
66
66
  if (path) {
67
67
  data = result<T>(data, path);
68
68
  }
@@ -75,7 +75,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
75
75
  newData = lodashSet(data, path, newData);
76
76
  }
77
77
 
78
- return queryClient.setQueryData(queryKey, newData as DataType) as DataType;
78
+ return queryClient.setQueryData(queryKey, newData) as DataType;
79
79
  };
80
80
 
81
81
  const getModelConfig = () => {
@@ -108,7 +108,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
108
108
  if (!path) {
109
109
  queryClient.setQueryData(queryKey, newData);
110
110
  } else {
111
- const queryData = queryClient.getQueryData(queryKey) ?? {};
111
+ const queryData = queryClient.getQueryData(queryKey, { exact }) ?? {};
112
112
  queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
113
113
  }
114
114
  return updatedRecord;
@@ -135,7 +135,7 @@ export const useQueryModel = <T>(keyTracker: string): QueryModelBuilder<T> => {
135
135
  if (!path) {
136
136
  queryClient.setQueryData(queryKey, newData);
137
137
  } else {
138
- const queryData = queryClient.getQueryData(queryKey) ?? {};
138
+ const queryData = queryClient.getQueryData(queryKey, { exact }) ?? {};
139
139
  queryClient.setQueryData(queryKey, lodashSet(queryData, path, newData));
140
140
  }
141
141
  return updated;
@@ -12,7 +12,7 @@ export const useRefetchQuery = async (queryKey: any[]) => {
12
12
  { throwOnError: true, cancelRefetch: true }
13
13
  );
14
14
 
15
- return queryClient.getQueriesData<T>({ queryKey: innerQueryKey ?? queryKey });
15
+ return queryClient.getQueriesData<T>(innerQueryKey ?? queryKey);
16
16
  };
17
17
 
18
18
  return { refetchQuery };
@@ -52,13 +52,12 @@ export const useDeleteRequest = <TResponse>(deleteOptions?: DefaultRequestOption
52
52
  }
53
53
  };
54
54
 
55
- const query = useQuery<any, any, IRequestSuccess<TResponse>>({
56
- queryKey: [requestPath, {}],
57
- queryFn: ({ queryKey }) =>
55
+ const query = useQuery<any, any, IRequestSuccess<TResponse>>(
56
+ [requestPath, {}],
57
+ ({ queryKey }) =>
58
58
  new Promise<IRequestSuccess<TResponse> | IRequestError>((res, rej) => sendRequest(res, rej, queryKey)),
59
- enabled: false,
60
- ...options,
61
- });
59
+ { enabled: false, ...options }
60
+ );
62
61
 
63
62
  const updatedPathAsync = async (link: string) => {
64
63
  return setRequestPath(link);
@@ -79,7 +78,8 @@ export const useDeleteRequest = <TResponse>(deleteOptions?: DefaultRequestOption
79
78
  ): Promise<IRequestSuccess<TResponse> | undefined> => {
80
79
  if (!isFutureQueriesPaused) {
81
80
  // set enabled to be true for every delete
82
- internalDeleteOptions = internalDeleteOptions ?? { queryKey: [] };
81
+ internalDeleteOptions = internalDeleteOptions ?? {};
82
+ internalDeleteOptions.enabled = true;
83
83
 
84
84
  await setOptionsAsync(internalDeleteOptions);
85
85
  await updatedPathAsync(link);