43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
// Test script that mimics your workflow exactly
|
|
const diagram = `graph TD
|
|
A[Website Analytics] --> B[Traffic]
|
|
A --> C[Revenue]
|
|
B --> D[Desktop]
|
|
B --> E[Mobile]`;
|
|
|
|
console.log("Raw diagram string:");
|
|
console.log(JSON.stringify(diagram));
|
|
console.log("\nDiagram content:");
|
|
console.log(diagram);
|
|
console.log("\nLength:", diagram.length);
|
|
|
|
// Test the conversion step
|
|
const convertMermaidBlock = (inputs) => {
|
|
const raw = String(inputs.diagram || "").trim();
|
|
if (!raw) throw new Error("No Mermaid input provided");
|
|
return { rawDsl: raw };
|
|
};
|
|
|
|
// Test the API call step
|
|
const makeApiCall = async (inputs) => {
|
|
const { diagram, format } = inputs;
|
|
|
|
if (!diagram || !diagram.trim()) {
|
|
throw new Error("No Mermaid input provided");
|
|
}
|
|
|
|
console.log("Sending to API:");
|
|
console.log("URL: https://diagrams.starbit.cloud/generate?type=" + encodeURIComponent(format));
|
|
console.log("Content-Type: text/plain");
|
|
console.log("Body:", JSON.stringify(diagram));
|
|
|
|
return { success: true };
|
|
};
|
|
|
|
// Run the test
|
|
const result1 = convertMermaidBlock({ diagram });
|
|
console.log("\nStep 1 result:", result1);
|
|
|
|
const result2 = makeApiCall({ diagram: result1.rawDsl, format: "svg" });
|
|
console.log("\nStep 2 result:", result2);
|