Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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))));
        }