Skip to content

Commit f170264

Browse files
fix: return undefined when queryObject is undefined to match React Query disabled query behavior
Co-Authored-By: [email protected] <[email protected]>
1 parent de9bb21 commit f170264

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

src/core_modules/capture-core/utils/reactQueryHelpers/query/useApiDataQuery.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,14 @@ export const useApiDataQuery = <TResultData>(
1111
queryOptions: UseQueryOptions<TResultData>,
1212
): Result<TResultData> => {
1313
const dataEngine = useDataEngine();
14-
const queryFn: QueryFunction<TResultData> = () => dataEngine.query({ theQuerykey: queryObject! })
15-
.then(response => response.theQuerykey as TResultData);
14+
const queryFn: QueryFunction<TResultData> = () => {
15+
if (!queryObject) {
16+
return Promise.resolve(undefined as TResultData);
17+
}
18+
return dataEngine.query({ theQuerykey: queryObject })
19+
.then(response => response.theQuerykey as TResultData);
20+
};
21+
1622
return useQuery<TResultData>(
1723
[ReactQueryAppNamespace, ...queryKey],
1824
queryFn,
@@ -22,7 +28,6 @@ export const useApiDataQuery = <TResultData>(
2228
refetchOnReconnect: false,
2329
staleTime: 2 * 60 * 1000,
2430
cacheTime: 5 * 60 * 1000,
25-
enabled: !!queryObject,
2631
...queryOptions,
2732
});
2833
};

src/core_modules/capture-core/utils/reactQueryHelpers/query/useMetadataQuery.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,21 @@ export const useApiMetadataQuery = <TResultData>(
5959
): Result<TResultData> => {
6060
const dataEngine = useDataEngine();
6161
const queryFn: QueryFunction<TResultData> = () => {
62-
return dataEngine.query({ theQuerykey: queryObject! })
62+
if (!queryObject) {
63+
return Promise.resolve(undefined as TResultData);
64+
}
65+
return dataEngine.query({ theQuerykey: queryObject })
6366
.then(response => response.theQuerykey as TResultData);
6467
};
68+
69+
const modifiedQueryOptions = queryObject ? queryOptions : {
70+
...queryOptions,
71+
select: undefined, // Remove select function when query is disabled to prevent errors
72+
};
73+
6574
return useAsyncMetadata(queryKey, queryFn, {
6675
cacheTime: Infinity,
6776
staleTime: Infinity,
68-
enabled: !!queryObject,
6977
...queryOptions,
7078
});
7179
};

0 commit comments

Comments
 (0)