10 lines
718 B
TypeScript
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 };
|
|
}
|