export function useChatInstanceQuery(chatId?: string) { const trpc = useTRPC(); const getToken = useGetToken(); const queryClient = useQueryClient(); const query = useQuery({ queryKey: ["chats", chatId], staleTime: Infinity, queryFn: chatId ? async () => { const messages = await queryClient.fetchQuery( trpc.getChatHistory.queryOptions({ chatId }), ); const chat = createChat({ chatId, getToken, messages }); return chat; } : skipToken, }); return query; }
`instanceof Chat