Files
yaak-mountain-loop/src-web/hooks/useResponseBodyText.ts
2023-04-13 18:48:40 -07:00

22 lines
591 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { readTextFile } from '@tauri-apps/api/fs';
import type { HttpResponse } from '../lib/models';
export function useResponseBodyText(response: HttpResponse) {
return useQuery<string | null>({
queryKey: ['response-body-text', response?.updatedAt],
initialData: null,
queryFn: async () => {
if (response.body) {
return String.fromCharCode.apply(null, response.body);
}
if (response.bodyPath) {
return await readTextFile(response.bodyPath);
}
return null;
},
}).data;
}