Files
diagrams-drawio/scripts/src/actions/import/action.ts
T

10 lines
718 B
TypeScript

import { importDrawioToIR } from "../../services/semantic-lifecycle/import-drawio.js";
import { atomicWrite, structuredText } from "../../services/semantic-lifecycle/lifecycle-io.js";
export function run(filePath: string, _page = 0, outputPath?: string): Record<string, unknown> {
if (!outputPath) throw new Error("import requires --output <model.yaml|model.json>");
if (!/\.(?:ya?ml|json)$/i.test(outputPath)) throw new Error("import output must use a .yaml, .yml, or .json extension");
const result = importDrawioToIR(filePath);
const output = atomicWrite(outputPath, structuredText(result.ir, outputPath), [filePath]);
return { action: "import", file: filePath, output, lossReport: result.lossReport };
}