public (FileExtension extension, TOutput result) Convert(string inputExtension, TInput content, string outputExtension) { IDocumentInput <TInput> input = InputCatalog.BestMatch(inputExtension); if (input == null) { return(default((FileExtension, TOutput))); } IDocumentOutput <TOutput> output = OutputCatalog.BestMatch(outputExtension); return(output != null ? (output.FileExtension, output.Convert(input.Convert(content))) : default((FileExtension, TOutput))); }
public IEnumerable <(FileExtension extension, TOutput result)> Convert(string inputExtension, TInput content, IEnumerable <string> outputExtensions) { IDocumentInput <TInput> input = InputCatalog.BestMatch(inputExtension); if (input == null) { return(Enumerable.Empty <(FileExtension, TOutput)>()); } IDocumentNode document = input.Convert(content); return(outputExtensions.Select(e => OutputCatalog.BestMatch(e)) .Select(o => (o?.FileExtension ?? FileExtension.Unknown, o != null ? o.Convert(document) : default(TOutput)))); }