Skip to content

Commit 89b5c2c

Browse files
author
Kostas
committed
Extend OpenAPI support #66
1 parent 51a526e commit 89b5c2c

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

ConvertApi/Services/ConverterCatalog.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ private static List<ConverterDto> ParseConverters(OpenApiDocument doc)
185185
MetaTitle = GetExtensionString(op.Extensions, "x-ca-meta-title") ?? GetExtensionString(item.Extensions, "x-ca-meta-title"),
186186
MetaDescription = GetExtensionString(op.Extensions, "x-ca-meta-description") ?? GetExtensionString(item.Extensions, "x-ca-meta-description"),
187187
Tags = CollectTags(doc, op, item),
188-
SourceExtensions = ParseExtensionsFrom(op.Extensions, item.Extensions, defaultTo: new[] { "." + src }),
189-
DestinationExtensions = new List<string> { "." + dst },
188+
SourceExtensions = ParseExtensionsFrom("x-ca-source-formats", op.Extensions, item.Extensions, defaultTo: new[] { src }),
189+
DestinationExtensions = ParseExtensionsFrom("x-ca-destination-formats", op.Extensions, item.Extensions, defaultTo: new[] { dst }),
190190
ConverterParameterGroups = ParseParameterGroups(op)
191191
};
192192

@@ -364,9 +364,9 @@ private static string GetStringProperty(OpenApiObject obj, string key)
364364
return null;
365365
}
366366

367-
private static List<string> ParseExtensionsFrom(IDictionary<string, IOpenApiExtension> opExt, IDictionary<string, IOpenApiExtension> pathExt, IEnumerable<string> defaultTo = null)
367+
private static List<string> ParseExtensionsFrom(string key, IDictionary<string, IOpenApiExtension> opExt, IDictionary<string, IOpenApiExtension> pathExt, IEnumerable<string> defaultTo = null)
368368
{
369-
var str = GetExtensionString(opExt, "x-ca-source-formats") ?? GetExtensionString(pathExt, "x-ca-source-formats");
369+
var str = GetExtensionString(opExt, key) ?? GetExtensionString(pathExt, key);
370370
if (!string.IsNullOrWhiteSpace(str))
371371
{
372372
return SplitExtensions(str).ToList();
@@ -380,7 +380,6 @@ private static IEnumerable<string> SplitExtensions(string csv)
380380
.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries)
381381
.Select(s => s.Trim())
382382
.Where(s => !string.IsNullOrWhiteSpace(s))
383-
.Select(s => s.StartsWith(".") ? s : "." + s)
384383
.Distinct(StringComparer.OrdinalIgnoreCase);
385384
}
386385

Examples/ConverterCatalogDemo/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ private static async Task<int> Main(string[] args)
5050
if (c != null)
5151
{
5252
Console.WriteLine($"Found: {c.SourceFormat} -> {c.DestinationFormat} | {Trim(c.Summary, 60)}");
53+
Console.WriteLine($"Source extensions: {string.Join(",", c.SourceExtensions)} -> Destination extensions: {string.Join(",", c.DestinationExtensions)}");
5354
}
5455
else
5556
{

0 commit comments

Comments
 (0)