Skip to content

Commit 5518436

Browse files
fix: allow optional ResourceQuery in useApiMetadataQuery to handle conditional queries
- Update useApiMetadataQuery function signature to accept ResourceQuery | undefined - Add null check in queryFn implementation to return empty object when no query provided - This fixes TypeScript errors in files using conditional query patterns like useRelationshipTypes.ts Co-Authored-By: [email protected] <[email protected]>
1 parent 37ecac0 commit 5518436

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,17 @@ export const useIndexedDBQuery = <TResultData>(
5454

5555
export const useApiMetadataQuery = <TResultData>(
5656
queryKey: Array<string | number | any | null | undefined>,
57-
queryObject: ResourceQuery,
57+
queryObject: ResourceQuery | undefined,
5858
queryOptions?: UseQueryOptions<TResultData>,
5959
): Result<TResultData> => {
6060
const dataEngine = useDataEngine();
61-
const queryFn: QueryFunction<TResultData> = () => dataEngine.query({ theQuerykey: queryObject })
62-
.then(response => response.theQuerykey as TResultData);
61+
const queryFn: QueryFunction<TResultData> = () => {
62+
if (!queryObject) {
63+
return Promise.resolve({} as TResultData);
64+
}
65+
return dataEngine.query({ theQuerykey: queryObject })
66+
.then(response => response.theQuerykey as TResultData);
67+
};
6368
return useAsyncMetadata(queryKey, queryFn, {
6469
cacheTime: Infinity,
6570
staleTime: Infinity,

0 commit comments

Comments
 (0)