Files
flxn-app/src/lib/tanstack-query/utils/ensure.ts
2025-08-30 01:42:23 -05:00

23 lines
574 B
TypeScript

import { QueryClient, QueryKey } from "@tanstack/react-query";
import { ServerResult } from "../types";
export async function ensureServerQueryData<TData>(
queryClient: QueryClient,
query: {
queryKey: QueryKey;
queryFn: () => Promise<ServerResult<TData>>;
}
): Promise<TData> {
return queryClient.ensureQueryData({
queryKey: query.queryKey,
queryFn: async () => {
const result = await query.queryFn();
if (!result.success) {
throw new Error(result.error.userMessage);
}
return result.data;
}
});
}