mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-25 19:01:38 +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>
46 lines
1005 B
TypeScript
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;
|
|
}
|