feat: added output file name for uml generation

This commit is contained in:
Michel Jonathan Schmitz
2019-06-05 16:15:24 +02:00
parent 67b31182e4
commit 843e59811a
6 changed files with 148 additions and 29 deletions

View File

@@ -81,7 +81,7 @@ export async function createDiagram(
modelPlantUMLCode += definitionPlantUMLCode;
}
return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL);
return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL, config.outputFileName);
}
/**
@@ -90,9 +90,13 @@ export async function createDiagram(
*
* @param modelPlantUMLCode
*/
export async function createDiagramFromString(modelPlantUMLCode: string, plantUmlBaseURL: string) {
export async function createDiagramFromString(
modelPlantUMLCode: string,
plantUmlBaseURL: string,
outputFile = `Diagram-${new Date().toISOString()}`,
) {
const plantumlEncoder = require('plantuml-encoder');
const plantUMLCode = plantumlEncoder.encode(modelPlantUMLCode);
const plantUMLCode = plantumlEncoder.encode(`@startuml\n${modelPlantUMLCode}\n@enduml`);
const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`;
let response;
try {
@@ -105,7 +109,8 @@ export async function createDiagramFromString(modelPlantUMLCode: string, plantUm
Logger.log(`Please try using the public plantuml server:\nhttp://www.plantuml.com/plantuml/svg/${plantUMLCode}`);
throw e;
}
const fileName: string = `Diagram-${new Date().toISOString()}.svg`;
// attach file extension
const fileName = `${outputFile}.svg`;
try {
createWriteStream(fileName).write(response.body);
Logger.log(`Writen data to file: ${fileName}`);

View File

@@ -22,6 +22,11 @@ export interface UMLConfig {
*/
definitions: string[];
/**
* Defines the output file name without file extension
*/
outputFileName?: string;
/**
* Should the associations between definitions be shown
*/