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; }