Files
yaak/src-web/lib/formatters.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

46 lines
1005 B
TypeScript

import vkBeautify from "vkbeautify";
import { invokeCmd } from "./tauri";
export async function tryFormatJson(text: string): Promise<string> {
if (text === "") return text;
try {
const result = await invokeCmd<string>("cmd_format_json", { text });
return result;
} catch (err) {
console.warn("Failed to format JSON", err);
}
try {
return JSON.stringify(JSON.parse(text), null, 2);
} catch (err) {
console.log("JSON beautify failed", err);
}
return text;
}
export async function tryFormatGraphql(text: string): Promise<string> {
if (text === "") return text;
try {
return await invokeCmd<string>("cmd_format_graphql", { text });
} catch (err) {
console.warn("Failed to format GraphQL", err);
}
return text;
}
export async function tryFormatXml(text: string): Promise<string> {
if (text === "") return text;
try {
return vkBeautify.xml(text, " ");
} catch (err) {
console.warn("Failed to format XML", err);
}
return text;
}