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