@@ -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