Files
yaak/src-web/hooks/useFormatText.ts
Gregory Schier b4a1c418bb Run oxfmt across repo, add format script and docs
Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:15:49 -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;
}