Files
yaak/src-web/hooks/useFormatText.ts
Gregory Schier ecabe9b6ef Cleanup (#148)
2024-12-20 23:49:48 -08:00

29 lines
705 B
TypeScript

import { useQuery } from '@tanstack/react-query';
import { tryFormatJson, tryFormatXml } from '../lib/formatters';
import type { EditorProps } from '../components/core/Editor/Editor';
export function useFormatText({
text,
language,
pretty,
}: {
text: string;
language: EditorProps['language'];
pretty: boolean;
}) {
return useQuery({
queryKey: [text, language, pretty],
queryFn: async () => {
if (text === '' || !pretty) {
return text;
} else if (language === 'json') {
return tryFormatJson(text);
} else if (language === 'xml' || language === 'html') {
return tryFormatXml(text);
} else {
return text;
}
},
});
}