Files
yaak/apps/yaak-client/hooks/useFormatText.ts
Gregory Schier 7314aedc71 Merge main into proxy branch (formatting and docs)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 12:09:59 -07:00

31 lines
765 B
TypeScript

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