public Runner() { var workingFolder = AppDomain.CurrentDomain.BaseDirectory; var tsGeneratorJson = Path.Combine(workingFolder, TsgeneratorJson); var text = File.ReadAllText(tsGeneratorJson); _options = JsonConvert.DeserializeObject<TypeScriptGeneratorOptions>(text); }
private static int Init() { if (ExistsTsGeneratorJson()) { Console.WriteLine("File {0} already exists", _tsGeneratorJson); return 0; } Console.WriteLine("Writing {0}", _tsGeneratorJson); var options = new TypeScriptGeneratorOptions(); try { options.Init(_workingFolder); options.Save(_tsGeneratorJson); } catch (Exception ex) { DumpError(ex); return -1; } return 1; }
private bool ProcessAssembly(string pathToAssembly, TypeScriptGeneratorOptions options) { if (!File.Exists(pathToAssembly)) { Console.WriteLine("File {0} not found", pathToAssembly); return false; } Console.WriteLine("Processing {0}", pathToAssembly); try { var controllers = LoadControllers(pathToAssembly); if (!controllers.Any()) { Console.WriteLine("No controllers found"); return false; } foreach (var controller in controllers) { Console.WriteLine("...analyzing {0}", controller.FullName); try { var builder = new TypeScriptBuilder(options.DestFolder, options.NgModule); foreach (var reference in options.References) { builder.AddReference(reference); } var pathToTs = builder.GenerateClientApi(controller, options.Namespace, options.ApiRoot); Console.WriteLine("...written {0}", pathToTs); } catch (Exception ex) { DumpError(ex); } } } catch (Exception ex) { if (ex is ReflectionTypeLoadException) { var typeLoadException = ex as ReflectionTypeLoadException; var loaderExceptions = typeLoadException.LoaderExceptions; foreach (var le in loaderExceptions) { DumpError(le); } } else { DumpError(ex); } return false; } return true; }