36 lines
1.5 KiB
C#
36 lines
1.5 KiB
C#
using Core;
|
|
using Core.Dto.Settings;
|
|
using Core.Settings;
|
|
using Generator.DataSource.Settings;
|
|
|
|
namespace Generator.Mappers;
|
|
|
|
public static class JavascriptMapper
|
|
{
|
|
public static JavascriptConfig Map(this JavascriptConfigDto dto, ConfigManager configManager, ISpecFile file)
|
|
{
|
|
var apiFolder = configManager.GetGeneral().ApiFolder;
|
|
var specFolder = file.Folder;
|
|
var specName = file.Name;
|
|
var templatesConfig = configManager.Templates;
|
|
var openApiConfig = configManager.OpenApi.Map(configManager, specFolder, specName);
|
|
var generationFolder = configManager.GetGeneral().GenerationFolder;
|
|
var baseConfig = configManager.GetBase();
|
|
return new JavascriptConfig
|
|
{
|
|
LocalRoot = baseConfig.LocalRoot,
|
|
DockerRoot = baseConfig.DockerRoot,
|
|
GenerationImage = configManager.DockerImages.OpenApiGeneratorImage,
|
|
BuildImage = configManager.DockerImages.JavascriptImage,
|
|
Invite = baseConfig.Invite,
|
|
|
|
ClientFolder = generationFolder.ConcatenateWith([specFolder, dto.Folder, specName]),
|
|
SpecFile = apiFolder.ConcatenateWith([specFolder, $"{specName}{openApiConfig.SpecExtension}"]),
|
|
PackageName = file.NpmPackage,
|
|
OpenApiVersion = file.Version,
|
|
Registry = configManager.Publish.NpmRegistry,
|
|
TemplateFolder = new Location(templatesConfig.Folder),
|
|
OpenApi = configManager.OpenApi.Map(configManager, specFolder, specName).Folder
|
|
};
|
|
}
|
|
} |