mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-25 02:41:21 +01:00
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>
31 lines
765 B
TypeScript
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;
|
|
}
|