Skip to content

Commit a135258

Browse files
committed
Move exportDiagram function declaration out from loop over views
1 parent 02ccab9 commit a135258

File tree

1 file changed

+46
-46
lines changed

1 file changed

+46
-46
lines changed

export-diagrams.js

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,52 @@ if (process.argv.length > 3) {
3030
password = process.argv[5];
3131
}
3232

33+
async function exportDiagram(page, view, exportKeys, stepSuffix = '') {
34+
await page.waitForFunction('structurizr.scripting.isDiagramRendered() === true');
35+
36+
if (format === SVG_FORMAT) {
37+
const diagramFilename = view.key + stepSuffix + '.svg';
38+
const diagramKeyFilename = view.key + stepSuffix + '-key.svg'
39+
40+
var svgForDiagram = await page.evaluate(() => {
41+
return structurizr.scripting.exportCurrentDiagramToSVG({ includeMetadata: true });
42+
});
43+
44+
console.log(" - " + diagramFilename);
45+
fs.writeFile(diagramFilename, svgForDiagram, function (err) {
46+
if (err) throw err;
47+
});
48+
49+
if (exportKeys && view.type !== IMAGE_VIEW_TYPE) {
50+
var svgForKey = await page.evaluate(() => {
51+
return structurizr.scripting.exportCurrentDiagramKeyToSVG();
52+
});
53+
54+
console.log(" - " + diagramKeyFilename);
55+
fs.writeFile(diagramKeyFilename, svgForKey, function (err) {
56+
if (err) throw err;
57+
});
58+
}
59+
} else {
60+
const diagramFilename = view.key + stepSuffix + '.png';
61+
const diagramKeyFilename = view.key + stepSuffix + '-key.png'
62+
63+
await page.evaluate((diagramFilename) => {
64+
structurizr.scripting.exportCurrentDiagramToPNG({ includeMetadata: true, crop: false }, function(png) {
65+
window.savePNG(png, diagramFilename);
66+
})
67+
}, diagramFilename);
68+
69+
if (exportKeys && view.type !== IMAGE_VIEW_TYPE) {
70+
await page.evaluate((diagramKeyFilename) => {
71+
structurizr.scripting.exportCurrentDiagramKeyToPNG(function(png) {
72+
window.savePNG(png, diagramKeyFilename);
73+
})
74+
}, diagramKeyFilename);
75+
}
76+
}
77+
}
78+
3379
(async () => {
3480
const browser = await puppeteer.launch({ignoreHTTPSErrors: IGNORE_HTTPS_ERRORS, headless: HEADLESS});
3581
const page = await browser.newPage();
@@ -76,52 +122,6 @@ if (process.argv.length > 3) {
76122
structurizr.scripting.changeView(view.key);
77123
}, view);
78124

79-
async function exportDiagram(page, view, exportKeys, stepSuffix = '') {
80-
await page.waitForFunction('structurizr.scripting.isDiagramRendered() === true');
81-
82-
if (format === SVG_FORMAT) {
83-
const diagramFilename = view.key + stepSuffix + '.svg';
84-
const diagramKeyFilename = view.key + stepSuffix + '-key.svg'
85-
86-
var svgForDiagram = await page.evaluate(() => {
87-
return structurizr.scripting.exportCurrentDiagramToSVG({ includeMetadata: true });
88-
});
89-
90-
console.log(" - " + diagramFilename);
91-
fs.writeFile(diagramFilename, svgForDiagram, function (err) {
92-
if (err) throw err;
93-
});
94-
95-
if (exportKeys && view.type !== IMAGE_VIEW_TYPE) {
96-
var svgForKey = await page.evaluate(() => {
97-
return structurizr.scripting.exportCurrentDiagramKeyToSVG();
98-
});
99-
100-
console.log(" - " + diagramKeyFilename);
101-
fs.writeFile(diagramKeyFilename, svgForKey, function (err) {
102-
if (err) throw err;
103-
});
104-
}
105-
} else {
106-
const diagramFilename = view.key + stepSuffix + '.png';
107-
const diagramKeyFilename = view.key + stepSuffix + '-key.png'
108-
109-
await page.evaluate((diagramFilename) => {
110-
structurizr.scripting.exportCurrentDiagramToPNG({ includeMetadata: true, crop: false }, function(png) {
111-
window.savePNG(png, diagramFilename);
112-
})
113-
}, diagramFilename);
114-
115-
if (exportKeys && view.type !== IMAGE_VIEW_TYPE) {
116-
await page.evaluate((diagramKeyFilename) => {
117-
structurizr.scripting.exportCurrentDiagramKeyToPNG(function(png) {
118-
window.savePNG(png, diagramKeyFilename);
119-
})
120-
}, diagramKeyFilename);
121-
}
122-
}
123-
}
124-
125125
await exportDiagram(page, view, true, undefined);
126126

127127
var currentViewIsDynamic = await page.evaluate(() => {

0 commit comments

Comments
 (0)