Files
yaak-mountain-loop/src-web/hooks/useResponses.ts
2023-03-30 09:05:54 -07:00

23 lines
651 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { invoke } from '@tauri-apps/api';
import type { HttpResponse } from '../lib/models';
export function responsesQueryKey({ requestId }: { requestId: string }) {
return ['http_responses', { requestId }];
}
export function useResponses(requestId: string | null) {
return (
useQuery<HttpResponse[]>({
enabled: requestId !== null,
initialData: [],
queryKey: responsesQueryKey({ requestId: requestId ?? 'n/a' }),
queryFn: async () => {
return (await invoke('responses', {
requestId,
})) as HttpResponse[];
},
}).data ?? []
);
}