|
6 | 6 | Outcome.HttpError<string> |
7 | 7 | >; |
8 | 8 | using ExceptionErrorString = Outcome.HttpError<string>.ExceptionError; |
| 9 | +using GeneratorError = Outcome.Result< |
| 10 | + RestClient.Net.OpenApiGenerator.GeneratorResult, |
| 11 | + string |
| 12 | +>.Error<RestClient.Net.OpenApiGenerator.GeneratorResult, string>; |
| 13 | +using GeneratorOk = Outcome.Result<RestClient.Net.OpenApiGenerator.GeneratorResult, string>.Ok< |
| 14 | + RestClient.Net.OpenApiGenerator.GeneratorResult, |
| 15 | + string |
| 16 | +>; |
9 | 17 | using OkString = Outcome.Result<string, Outcome.HttpError<string>>.Ok< |
10 | 18 | string, |
11 | 19 | Outcome.HttpError<string> |
@@ -186,29 +194,34 @@ await response.Content.ReadAsStringAsync(ct).ConfigureAwait(false), |
186 | 194 | Console.WriteLine($"Downloaded {openApiSpec.Length} characters\n"); |
187 | 195 | Console.WriteLine("Generating C# code from OpenAPI spec..."); |
188 | 196 |
|
189 | | - var generatorResult = OpenApiCodeGenerator.Generate( |
| 197 | + var result = OpenApiCodeGenerator.Generate( |
190 | 198 | openApiSpec, |
191 | 199 | @namespace: config.Namespace, |
192 | 200 | className: config.ClassName, |
193 | 201 | outputPath: config.OutputPath, |
194 | 202 | baseUrlOverride: config.BaseUrl |
195 | 203 | ); |
196 | 204 |
|
197 | | - Console.WriteLine( |
198 | | - $"Generated {generatorResult.ExtensionMethodsCode.Length} " |
199 | | - + "characters of extension methods" |
200 | | - ); |
201 | | - Console.WriteLine($"Generated {generatorResult.ModelsCode.Length} " + "characters of models"); |
202 | | - |
203 | | - if (generatorResult.ExtensionMethodsCode.StartsWith("//", StringComparison.Ordinal)) |
| 205 | +#pragma warning disable IDE0010 |
| 206 | + switch (result) |
| 207 | +#pragma warning restore IDE0010 |
204 | 208 | { |
205 | | - Console.WriteLine("\nError in generated code:"); |
206 | | - Console.WriteLine(generatorResult.ExtensionMethodsCode); |
207 | | - return; |
| 209 | + case GeneratorOk(var generatorResult): |
| 210 | + Console.WriteLine( |
| 211 | + $"Generated {generatorResult.ExtensionMethodsCode.Length} " |
| 212 | + + "characters of extension methods" |
| 213 | + ); |
| 214 | + Console.WriteLine( |
| 215 | + $"Generated {generatorResult.ModelsCode.Length} " + "characters of models" |
| 216 | + ); |
| 217 | + Console.WriteLine($"\nSaved files to: {config.OutputPath}"); |
| 218 | + Console.WriteLine("\nGeneration completed successfully!"); |
| 219 | + break; |
| 220 | + case GeneratorError(var error): |
| 221 | + Console.WriteLine("\nCode generation failed:"); |
| 222 | + Console.WriteLine(error); |
| 223 | + break; |
208 | 224 | } |
209 | | - |
210 | | - Console.WriteLine($"\nSaved files to: {config.OutputPath}"); |
211 | | - Console.WriteLine("\nGeneration completed successfully!"); |
212 | 225 | } |
213 | 226 |
|
214 | 227 | static string HandleDownloadError(string message) |
|
0 commit comments