コード例 #1
0
        public static void DumpDotNetAndVerify(this string path, System.Action <ToTypeScriptD.Core.ConfigBase> configOverrideHook = null)
        {
            var errors = new StringBuilderTypeNotFoundErrorHandler();
            var config = new ToTypeScriptD.Core.DotNet.DotNetConfig
            {
                TypeNotFoundErrorHandler = errors,
            };

            if (configOverrideHook != null)
            {
                configOverrideHook(config);
            }

            var typeCollection = new ToTypeScriptD.Core.TypeWriters.TypeCollection(config.GetTypeWriterTypeSelector());
            var result         = ToTypeScriptD.Render.FullAssembly(path, typeCollection, config).StripHeaderGarbageromOutput();

            ApprovalTests.Approvals.Verify(errors + result);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: sumitkm/ToTypeScriptD
        static void Main(string[] args)
        {
            ConfigBase config = null;

            var options = new Options();

            string verbInvoked = null;

            if (CommandLine.Parser.Default.ParseArgumentsStrict(args, options, (verb, subOptions) =>
            {
                verb = (verb ?? "").ToLowerInvariant();
                verbInvoked = verb;
                if (verb == Options.DotNetCommandName)
                {
                    var dotNetSubOptions = subOptions as DotNetSubOptions;
                    if (dotNetSubOptions != null)
                    {
                        config = new ToTypeScriptD.Core.DotNet.DotNetConfig
                        {
                            AssemblyPaths = dotNetSubOptions.Files,
                            CamelBackCase = dotNetSubOptions.CamelBackCase,
                            IncludeSpecialTypes = dotNetSubOptions.IncludeSpecialTypeDefinitions,
                            IndentationType = dotNetSubOptions.IndentationType,
                            RegexFilter = dotNetSubOptions.RegexFilter,
                            TypeNotFoundErrorHandler = new ConsoleErrorTypeNotFoundErrorHandler(),
                        };
                    }
                }
                else if (verb == Options.WinmdCommandName)
                {
                    var winmdSubOptions = subOptions as WinmdSubOptions;
                    if (winmdSubOptions != null)
                    {
                        config = new ToTypeScriptD.Core.WinMD.WinmdConfig
                        {
                            AssemblyPaths = winmdSubOptions.Files,
                            IncludeSpecialTypes = winmdSubOptions.IncludeSpecialTypeDefinitions,
                            IndentationType = winmdSubOptions.IndentationType,
                            RegexFilter = winmdSubOptions.RegexFilter,
                            TypeNotFoundErrorHandler = new ConsoleErrorTypeNotFoundErrorHandler(),
                        };
                    }
                }
            }))
            {
                bool skipPrintingHelp = false;

                try
                {
                    skipPrintingHelp = ToTypeScriptD.Render.AllAssemblies(config, Console.Out);
                }
                catch (Exception ex)
                {
                    if (ex is System.IO.DirectoryNotFoundException || ex is System.IO.FileNotFoundException)
                    {
                        skipPrintingHelp = true;
                        Console.Error.WriteLine("Error: " + ex.Message);
                    }
                    else
                    {
                        throw;
                    }
                }

                if (!skipPrintingHelp)
                {
                    Console.WriteLine(options.GetUsage(verbInvoked));
                    Environment.ExitCode = 1;
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: sumitkm/ToTypeScriptD
        static void Main(string[] args)
        {
            ConfigBase config = null;

            var options = new Options();

            string verbInvoked = null;

            if (CommandLine.Parser.Default.ParseArgumentsStrict(args, options, (verb, subOptions) =>
            {
                verb = (verb ?? "").ToLowerInvariant();
                verbInvoked = verb;
                if (verb == Options.DotNetCommandName)
                {
                    var dotNetSubOptions = subOptions as DotNetSubOptions;
                    if (dotNetSubOptions != null)
                    {
                        config = new ToTypeScriptD.Core.DotNet.DotNetConfig
                        {
                            AssemblyPaths = dotNetSubOptions.Files,
                            CamelBackCase = dotNetSubOptions.CamelBackCase,
                            IncludeSpecialTypes = dotNetSubOptions.IncludeSpecialTypeDefinitions,
                            IndentationType = dotNetSubOptions.IndentationType,
                            RegexFilter = dotNetSubOptions.RegexFilter,
                            TypeNotFoundErrorHandler = new ConsoleErrorTypeNotFoundErrorHandler(),
                        };
                    }
                }
                else if (verb == Options.WinmdCommandName)
                {
                    var winmdSubOptions = subOptions as WinmdSubOptions;
                    if (winmdSubOptions != null)
                    {
                        config = new ToTypeScriptD.Core.WinMD.WinmdConfig
                        {
                            AssemblyPaths = winmdSubOptions.Files,
                            IncludeSpecialTypes = winmdSubOptions.IncludeSpecialTypeDefinitions,
                            IndentationType = winmdSubOptions.IndentationType,
                            RegexFilter = winmdSubOptions.RegexFilter,
                            TypeNotFoundErrorHandler = new ConsoleErrorTypeNotFoundErrorHandler(),
                        };
                    }
                }
            }))
            {
                bool skipPrintingHelp = false;

                try
                {
                    skipPrintingHelp = ToTypeScriptD.Render.AllAssemblies(config, Console.Out);
                }
                catch (Exception ex)
                {
                    if (ex is System.IO.DirectoryNotFoundException || ex is System.IO.FileNotFoundException)
                    {
                        skipPrintingHelp = true;
                        Console.Error.WriteLine("Error: " + ex.Message);
                    }
                    else
                    {
                        throw;
                    }
                }

                if (!skipPrintingHelp)
                {
                    Console.WriteLine(options.GetUsage(verbInvoked));
                    Environment.ExitCode = 1;
                }
            }
        }