Files
yaak-mountain-loop/src-web/hooks/useHttpResponses.ts
2024-08-16 08:31:19 -07:00

25 lines
743 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import type { HttpResponse } from '@yaakapp/api';
import { invokeCmd } from '../lib/tauri';
export function httpResponsesQueryKey({ requestId }: { requestId: string }) {
return ['http_responses', { requestId }];
}
export function useHttpResponses(requestId: string | null) {
return (
useQuery<HttpResponse[]>({
enabled: requestId !== null,
initialData: [],
queryKey: httpResponsesQueryKey({ requestId: requestId ?? 'n/a' }),
queryFn: async () => {
if (requestId == null) return [];
return (await invokeCmd('cmd_list_http_responses', {
requestId,
limit: 200,
})) as HttpResponse[];
},
}).data ?? []
);
}