55using System . Linq ;
66using ApiGenerator . Domain ;
77using Newtonsoft . Json ;
8- using ShellProgressBar ;
98using Newtonsoft . Json . Linq ;
109using RazorLight ;
10+ using ShellProgressBar ;
1111
1212namespace ApiGenerator
1313{
@@ -22,20 +22,19 @@ public static void Generate(string downloadBranch, params string[] folders)
2222 var spec = CreateRestApiSpecModel ( downloadBranch , folders ) ;
2323 var actions = new Dictionary < Action < RestApiSpec > , string >
2424 {
25- { GenerateClientInterface , "Client interface" } ,
26- { GenerateRequestParameters , "Request parameters" } ,
27- { GenerateDescriptors , "Descriptors" } ,
28- { GenerateRequests , "Requests" } ,
29- { GenerateEnums , "Enums" } ,
30- { GenerateRawClient , "Lowlevel client" } ,
31- { GenerateRawDispatch , "Dispatch" } ,
32- { GenerateRequestParametersExtensions , "Request parameters override" } ,
33-
25+ { GenerateClientInterface , "Client interface" } ,
26+ { GenerateRequestParameters , "Request parameters" } ,
27+ { GenerateDescriptors , "Descriptors" } ,
28+ { GenerateRequests , "Requests" } ,
29+ { GenerateEnums , "Enums" } ,
30+ { GenerateRawClient , "Lowlevel client" } ,
31+ { GenerateRawDispatch , "Dispatch" } ,
32+ { GenerateRequestParametersExtensions , "Request parameters override" } ,
3433 } ;
3534
3635 using ( var pbar = new ProgressBar ( actions . Count , "Generating code" , new ProgressBarOptions { BackgroundColor = ConsoleColor . DarkGray } ) )
3736 {
38- foreach ( var kv in actions )
37+ foreach ( var kv in actions )
3938 {
4039 pbar . Message = "Generating " + kv . Value ;
4140 kv . Key ( spec ) ;
@@ -47,15 +46,17 @@ public static void Generate(string downloadBranch, params string[] folders)
4746 private static RestApiSpec CreateRestApiSpecModel ( string downloadBranch , string [ ] folders )
4847 {
4948 var directories = Directory . GetDirectories ( CodeConfiguration . RestSpecificationFolder , "*" , SearchOption . AllDirectories )
50- . Where ( f=> folders == null || folders . Length == 0 || folders . Contains ( new DirectoryInfo ( f ) . Name ) )
49+ . Where ( f => folders == null || folders . Length == 0 || folders . Contains ( new DirectoryInfo ( f ) . Name ) )
5150 . ToList ( ) ;
5251
5352 var endpoints = new Dictionary < string , ApiEndpoint > ( ) ;
54- using ( var pbar = new ProgressBar ( directories . Count , $ "Listing { directories . Count } directories", new ProgressBarOptions { BackgroundColor = ConsoleColor . DarkGray } ) )
53+ using ( var pbar = new ProgressBar ( directories . Count , $ "Listing { directories . Count } directories",
54+ new ProgressBarOptions { BackgroundColor = ConsoleColor . DarkGray } ) )
5555 {
5656 foreach ( var jsonFiles in directories . Select ( dir => Directory . GetFiles ( dir ) . Where ( f => f . EndsWith ( ".json" ) ) . ToList ( ) ) )
5757 {
58- using ( var fileProgress = pbar . Spawn ( jsonFiles . Count , $ "Listing { jsonFiles . Count } files", new ProgressBarOptions { ProgressCharacter = '─' , BackgroundColor = ConsoleColor . DarkGray } ) )
58+ using ( var fileProgress = pbar . Spawn ( jsonFiles . Count , $ "Listing { jsonFiles . Count } files",
59+ new ProgressBarOptions { ProgressCharacter = '─' , BackgroundColor = ConsoleColor . DarkGray } ) )
5960 {
6061 foreach ( var file in jsonFiles )
6162 {
@@ -68,6 +69,7 @@ private static RestApiSpec CreateRestApiSpecModel(string downloadBranch, string[
6869 var endpoint = CreateApiEndpoint ( file ) ;
6970 endpoints . Add ( endpoint . Key , endpoint . Value ) ;
7071 }
72+
7173 fileProgress . Tick ( ) ;
7274 }
7375 }
@@ -137,41 +139,40 @@ private static Dictionary<string, ApiQueryParameters> CreateCommonApiQueryParame
137139 return commonParameters ;
138140 }
139141
140- private static string CreateMethodName ( string apiEndpointKey )
141- {
142- return PascalCase ( apiEndpointKey ) ;
143- }
142+ private static string CreateMethodName ( string apiEndpointKey ) => PascalCase ( apiEndpointKey ) ;
144143
145- private static string DoRazor ( string name , string template , RestApiSpec model )
146- {
147- return Razor . CompileRenderAsync ( name , template , model ) . GetAwaiter ( ) . GetResult ( ) ;
148- }
144+ private static string DoRazor ( string name , string template , RestApiSpec model ) =>
145+ Razor . CompileRenderAsync ( name , template , model ) . GetAwaiter ( ) . GetResult ( ) ;
149146
150147 private static void GenerateClientInterface ( RestApiSpec model )
151148 {
152149 var targetFile = CodeConfiguration . EsNetFolder + @"IElasticLowLevelClient.Generated.cs" ;
153- var source = DoRazor ( nameof ( GenerateClientInterface ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"IElasticLowLevelClient.Generated.cshtml" ) , model ) ;
150+ var source = DoRazor ( nameof ( GenerateClientInterface ) ,
151+ File . ReadAllText ( CodeConfiguration . ViewFolder + @"IElasticLowLevelClient.Generated.cshtml" ) , model ) ;
154152 File . WriteAllText ( targetFile , source ) ;
155153 }
156154
157155 private static void GenerateRawDispatch ( RestApiSpec model )
158156 {
159157 var targetFile = CodeConfiguration . NestFolder + @"_Generated/_LowLevelDispatch.Generated.cs" ;
160- var source = DoRazor ( nameof ( GenerateRawDispatch ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"_LowLevelDispatch.Generated.cshtml" ) , model ) ;
158+ var source = DoRazor ( nameof ( GenerateRawDispatch ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"_LowLevelDispatch.Generated.cshtml" ) ,
159+ model ) ;
161160 File . WriteAllText ( targetFile , source ) ;
162161 }
163162
164163 private static void GenerateRawClient ( RestApiSpec model )
165164 {
166165 var targetFile = CodeConfiguration . EsNetFolder + @"ElasticLowLevelClient.Generated.cs" ;
167- var source = DoRazor ( nameof ( GenerateRawClient ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"ElasticLowLevelClient.Generated.cshtml" ) , model ) ;
166+ var source = DoRazor ( nameof ( GenerateRawClient ) ,
167+ File . ReadAllText ( CodeConfiguration . ViewFolder + @"ElasticLowLevelClient.Generated.cshtml" ) , model ) ;
168168 File . WriteAllText ( targetFile , source ) ;
169169 }
170170
171171 private static void GenerateDescriptors ( RestApiSpec model )
172172 {
173173 var targetFile = CodeConfiguration . NestFolder + @"_Generated\_Descriptors.Generated.cs" ;
174- var source = DoRazor ( nameof ( GenerateDescriptors ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"_Descriptors.Generated.cshtml" ) , model ) ;
174+ var source = DoRazor ( nameof ( GenerateDescriptors ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"_Descriptors.Generated.cshtml" ) ,
175+ model ) ;
175176 File . WriteAllText ( targetFile , source ) ;
176177 }
177178
@@ -185,14 +186,16 @@ private static void GenerateRequests(RestApiSpec model)
185186 private static void GenerateRequestParameters ( RestApiSpec model )
186187 {
187188 var targetFile = CodeConfiguration . EsNetFolder + @"Domain\RequestParameters\RequestParameters.Generated.cs" ;
188- var source = DoRazor ( nameof ( GenerateRequestParameters ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"RequestParameters.Generated.cshtml" ) , model ) ;
189+ var source = DoRazor ( nameof ( GenerateRequestParameters ) ,
190+ File . ReadAllText ( CodeConfiguration . ViewFolder + @"RequestParameters.Generated.cshtml" ) , model ) ;
189191 File . WriteAllText ( targetFile , source ) ;
190192 }
191193
192194 private static void GenerateRequestParametersExtensions ( RestApiSpec model )
193195 {
194196 var targetFile = CodeConfiguration . NestFolder + @"_Generated\_RequestParametersExtensions.Generated.cs" ;
195- var source = DoRazor ( nameof ( GenerateRequestParametersExtensions ) , File . ReadAllText ( CodeConfiguration . ViewFolder + @"_RequestParametersExtensions.Generated.cshtml" ) , model ) ;
197+ var source = DoRazor ( nameof ( GenerateRequestParametersExtensions ) ,
198+ File . ReadAllText ( CodeConfiguration . ViewFolder + @"_RequestParametersExtensions.Generated.cshtml" ) , model ) ;
196199 File . WriteAllText ( targetFile , source ) ;
197200 }
198201
0 commit comments