@@ -24,7 +24,7 @@ public static int GenerateJavaScript(JavaScriptGeneratorSettings settings) =>
2424 /// <summary>
2525 /// The name of the module (optional).
2626 /// </summary>
27- public string ModuleName { get ; set ; }
27+ public string ? ModuleName { get ; set ; }
2828
2929 /// <summary>
3030 /// True to generate TypeScript.
@@ -48,11 +48,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
4848 {
4949 var httpServiceInfo = HttpServiceInfo . Create ( service ) ;
5050
51- string moduleName = ModuleName ?? service . Name ;
52- string capModuleName = CodeGenUtility . Capitalize ( moduleName ) ;
53- string typesFileName = Uncapitalize ( moduleName ) + "Types" + ( TypeScript ? ".ts" : ".js" ) ;
54- string clientFileName = Uncapitalize ( moduleName ) + ( TypeScript ? ".ts" : ".js" ) ;
55- string serverFileName = Uncapitalize ( moduleName ) + "Server" + ( TypeScript ? ".ts" : ".js" ) ;
51+ var moduleName = ModuleName ?? service . Name ;
52+ var capModuleName = CodeGenUtility . Capitalize ( moduleName ) ;
53+ var typesFileName = Uncapitalize ( moduleName ) + "Types" + ( TypeScript ? ".ts" : ".js" ) ;
54+ var clientFileName = Uncapitalize ( moduleName ) + ( TypeScript ? ".ts" : ".js" ) ;
55+ var serverFileName = Uncapitalize ( moduleName ) + "Server" + ( TypeScript ? ".ts" : ".js" ) ;
5656
5757 var namedTexts = new List < CodeGenFile > ( ) ;
5858 var typeNames = new List < string > ( ) ;
@@ -79,8 +79,8 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
7979 {
8080 foreach ( var httpMethodInfo in httpServiceInfo . Methods )
8181 {
82- string methodName = httpMethodInfo . ServiceMethod . Name ;
83- string capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
82+ var methodName = httpMethodInfo . ServiceMethod . Name ;
83+ var capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
8484 code . WriteLineSkipOnce ( ) ;
8585 WriteJsDoc ( code , httpMethodInfo . ServiceMethod ) ;
8686 code . WriteLine ( $ "{ methodName } (request: I{ capMethodName } Request): Promise<IServiceResult<I{ capMethodName } Response>>;") ;
@@ -167,16 +167,16 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
167167
168168 foreach ( var httpMethodInfo in httpServiceInfo . Methods )
169169 {
170- string methodName = httpMethodInfo . ServiceMethod . Name ;
171- string capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
170+ var methodName = httpMethodInfo . ServiceMethod . Name ;
171+ var capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
172172
173173 code . WriteLine ( ) ;
174174 WriteJsDoc ( code , httpMethodInfo . ServiceMethod ) ;
175175 using ( code . Block ( IfTypeScript ( "public " ) + $ "{ methodName } (request" + IfTypeScript ( $ ": I{ capMethodName } Request") + ")" + IfTypeScript ( $ ": Promise<IServiceResult<I{ capMethodName } Response>>") + " {" , "}" ) )
176176 {
177- bool hasPathFields = httpMethodInfo . PathFields . Count != 0 ;
178- string jsUriDelim = hasPathFields ? "`" : "'" ;
179- string jsUri = jsUriDelim + httpMethodInfo . Path . Substring ( 1 ) + jsUriDelim ;
177+ var hasPathFields = httpMethodInfo . PathFields . Count != 0 ;
178+ var jsUriDelim = hasPathFields ? "`" : "'" ;
179+ var jsUri = jsUriDelim + httpMethodInfo . Path . Substring ( 1 ) + jsUriDelim ;
180180 if ( hasPathFields )
181181 {
182182 foreach ( var httpPathField in httpMethodInfo . PathFields )
@@ -189,7 +189,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
189189 jsUri = jsUri . Replace ( "{" + httpPathField . Name + "}" , $ "${{uriPart{ CodeGenUtility . Capitalize ( httpPathField . ServiceField . Name ) } }}") ;
190190 }
191191
192- bool hasQueryFields = httpMethodInfo . QueryFields . Count != 0 ;
192+ var hasQueryFields = httpMethodInfo . QueryFields . Count != 0 ;
193193 code . WriteLine ( ( hasQueryFields ? "let" : "const" ) + $ " uri = { jsUri } ;") ;
194194 if ( hasQueryFields )
195195 {
@@ -225,11 +225,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
225225 {
226226 using ( code . Block ( "body: JSON.stringify({" , "})" ) )
227227 {
228- for ( int httpFieldIndex = 0 ; httpFieldIndex < httpMethodInfo . RequestNormalFields . Count ; httpFieldIndex ++ )
228+ for ( var httpFieldIndex = 0 ; httpFieldIndex < httpMethodInfo . RequestNormalFields . Count ; httpFieldIndex ++ )
229229 {
230230 var httpFieldInfo = httpMethodInfo . RequestNormalFields [ httpFieldIndex ] ;
231- bool isLastField = httpFieldIndex == httpMethodInfo . RequestNormalFields . Count - 1 ;
232- string fieldName = httpFieldInfo . ServiceField . Name ;
231+ var isLastField = httpFieldIndex == httpMethodInfo . RequestNormalFields . Count - 1 ;
232+ var fieldName = httpFieldInfo . ServiceField . Name ;
233233 code . WriteLine ( fieldName + ": request." + fieldName + ( isLastField ? "" : "," ) ) ;
234234 }
235235 }
@@ -255,10 +255,10 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
255255 using ( code . Block ( "if (result.json) {" , "}" ) )
256256 {
257257 var validResponses = httpMethodInfo . ValidResponses ;
258- string elsePrefix = "" ;
258+ var elsePrefix = "" ;
259259 foreach ( var validResponse in validResponses )
260260 {
261- string statusCodeAsString = ( ( int ) validResponse . StatusCode ) . ToString ( CultureInfo . InvariantCulture ) ;
261+ var statusCodeAsString = ( ( int ) validResponse . StatusCode ) . ToString ( CultureInfo . InvariantCulture ) ;
262262 code . WriteLine ( $ "{ elsePrefix } if (status === { statusCodeAsString } ) {{") ;
263263 elsePrefix = "else " ;
264264
@@ -267,17 +267,17 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
267267 var bodyField = validResponse . BodyField ;
268268 if ( bodyField != null )
269269 {
270- string responseBodyFieldName = bodyField . ServiceField . Name ;
270+ var responseBodyFieldName = bodyField . ServiceField . Name ;
271271
272- var bodyFieldType = service . GetFieldType ( bodyField . ServiceField ) ;
272+ var bodyFieldType = service . GetFieldType ( bodyField . ServiceField ) ! ;
273273 if ( bodyFieldType . Kind == ServiceTypeKind . Boolean )
274274 code . WriteLine ( $ "value = {{ { responseBodyFieldName } : true }};") ;
275275 else
276276 code . WriteLine ( $ "value = {{ { responseBodyFieldName } : result.json }};") ;
277277 }
278278 else
279279 {
280- if ( validResponse . NormalFields . Count == 0 )
280+ if ( validResponse . NormalFields ! . Count == 0 )
281281 code . WriteLine ( "value = {};" ) ;
282282 else
283283 code . WriteLine ( "value = result.json;" ) ;
@@ -376,10 +376,10 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
376376
377377 foreach ( var httpMethodInfo in httpServiceInfo . Methods )
378378 {
379- string methodName = httpMethodInfo . ServiceMethod . Name ;
380- string capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
381- string expressMethod = httpMethodInfo . Method . ToLowerInvariant ( ) ;
382- string expressPath = httpMethodInfo . Path ;
379+ var methodName = httpMethodInfo . ServiceMethod . Name ;
380+ var capMethodName = CodeGenUtility . Capitalize ( methodName ) ;
381+ var expressMethod = httpMethodInfo . Method . ToLowerInvariant ( ) ;
382+ var expressPath = httpMethodInfo . Path ;
383383 foreach ( var httpPathField in httpMethodInfo . PathFields )
384384 expressPath = expressPath . Replace ( "{" + httpPathField . Name + "}" , $ ":{ httpPathField . Name } ") ;
385385
@@ -443,11 +443,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
443443 var bodyField = validResponse . BodyField ;
444444 if ( bodyField != null )
445445 {
446- string responseBodyFieldName = bodyField . ServiceField . Name ;
446+ var responseBodyFieldName = bodyField . ServiceField . Name ;
447447
448448 using ( code . Block ( $ "if (result.value.{ responseBodyFieldName } ) {{", "}" ) )
449449 {
450- var bodyFieldType = service . GetFieldType ( bodyField . ServiceField ) ;
450+ var bodyFieldType = service . GetFieldType ( bodyField . ServiceField ) ! ;
451451 if ( bodyFieldType . Kind == ServiceTypeKind . Boolean )
452452 {
453453 code . WriteLine ( $ "res.sendStatus({ ( int ) validResponse . StatusCode } );") ;
@@ -462,7 +462,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
462462 }
463463 else
464464 {
465- if ( validResponse . NormalFields . Count == 0 )
465+ if ( validResponse . NormalFields ! . Count == 0 )
466466 {
467467 code . WriteLine ( $ "res.sendStatus({ ( int ) validResponse . StatusCode } );") ;
468468 code . WriteLine ( "return;" ) ;
@@ -475,7 +475,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
475475 code . WriteLine ( $ "res.status({ ( int ) validResponse . StatusCode } ).send({{") ;
476476 using ( code . Indent ( ) )
477477 {
478- foreach ( var field in validResponse . NormalFields )
478+ foreach ( var field in validResponse . NormalFields ! )
479479 {
480480 code . WriteLine ( $ "{ field . ServiceField . Name } : result.value.{ field . ServiceField . Name } ,") ;
481481 }
@@ -535,7 +535,7 @@ private void WriteDto(CodeWriter code, ServiceDtoInfo dtoInfo, ServiceInfo servi
535535 {
536536 code . WriteLineSkipOnce ( ) ;
537537 WriteJsDoc ( code , fieldInfo ) ;
538- code . WriteLine ( $ "{ fieldInfo . Name } ?: { RenderFieldType ( service . GetFieldType ( fieldInfo ) ) } ;") ;
538+ code . WriteLine ( $ "{ fieldInfo . Name } ?: { RenderFieldType ( service . GetFieldType ( fieldInfo ) ! ) } ;") ;
539539 }
540540 }
541541 }
@@ -565,21 +565,21 @@ private string RenderFieldType(ServiceTypeInfo fieldType)
565565 case ServiceTypeKind . Error :
566566 return "IServiceError" ;
567567 case ServiceTypeKind . Dto :
568- return $ "I{ CodeGenUtility . Capitalize ( fieldType . Dto . Name ) } ";
568+ return $ "I{ CodeGenUtility . Capitalize ( fieldType . Dto ! . Name ) } ";
569569 case ServiceTypeKind . Result :
570- return $ "IServiceResult<{ RenderFieldType ( fieldType . ValueType ) } >";
570+ return $ "IServiceResult<{ RenderFieldType ( fieldType . ValueType ! ) } >";
571571 case ServiceTypeKind . Array :
572- return $ "{ RenderFieldType ( fieldType . ValueType ) } []";
572+ return $ "{ RenderFieldType ( fieldType . ValueType ! ) } []";
573573 case ServiceTypeKind . Map :
574- return $ "{{ [name: string]: { RenderFieldType ( fieldType . ValueType ) } }}";
574+ return $ "{{ [name: string]: { RenderFieldType ( fieldType . ValueType ! ) } }}";
575575 default :
576576 throw new NotSupportedException ( "Unknown field type " + fieldType . Kind ) ;
577577 }
578578 }
579579
580580 private string RenderUriComponent ( ServiceFieldInfo field , ServiceInfo service )
581581 {
582- var fieldTypeKind = service . GetFieldType ( field ) . Kind ;
582+ var fieldTypeKind = service . GetFieldType ( field ) ! . Kind ;
583583 var fieldName = field . Name ;
584584
585585 switch ( fieldTypeKind )
@@ -607,7 +607,7 @@ private string RenderUriComponent(ServiceFieldInfo field, ServiceInfo service)
607607
608608 private string RenderJsConversion ( ServiceFieldInfo field , ServiceInfo service , string value )
609609 {
610- var fieldTypeKind = service . GetFieldType ( field ) . Kind ;
610+ var fieldTypeKind = service . GetFieldType ( field ) ! . Kind ;
611611
612612 switch ( fieldTypeKind )
613613 {
@@ -637,11 +637,11 @@ private static void WriteJsDoc(CodeWriter code, ServiceElementWithAttributesInfo
637637 WriteJsDoc ( code , ( element as IServiceHasSummary ) ? . Summary , isObsolete : element . IsObsolete , obsoleteMessage : element . ObsoleteMessage ) ;
638638 }
639639
640- private static void WriteJsDoc ( CodeWriter code , string summary , bool isObsolete = false , string obsoleteMessage = null )
640+ private static void WriteJsDoc ( CodeWriter code , string ? summary , bool isObsolete = false , string ? obsoleteMessage = null )
641641 {
642642 var lines = new List < string > ( capacity : 2 ) ;
643- if ( ! string . IsNullOrWhiteSpace ( summary ) )
644- lines . Add ( summary ) ;
643+ if ( summary != null && summary . Trim ( ) . Length != 0 )
644+ lines . Add ( summary . Trim ( ) ) ;
645645 if ( isObsolete )
646646 lines . Add ( "@deprecated" + ( string . IsNullOrWhiteSpace ( obsoleteMessage ) ? "" : $ " { obsoleteMessage } ") ) ;
647647 WriteJsDoc ( code , lines ) ;
@@ -656,7 +656,7 @@ private static void WriteJsDoc(CodeWriter code, IReadOnlyList<string> lines)
656656 else if ( lines . Count != 0 )
657657 {
658658 code . WriteLine ( "/**" ) ;
659- foreach ( string line in lines )
659+ foreach ( var line in lines )
660660 code . WriteLine ( $ " * { line } ") ;
661661 code . WriteLine ( " */" ) ;
662662 }
@@ -675,7 +675,7 @@ private static string Uncapitalize(string value)
675675
676676 private static bool FieldUsesKind ( ServiceInfo service , ServiceFieldInfo field , ServiceTypeKind kind )
677677 {
678- var type = service . GetFieldType ( field ) ;
678+ var type = service . GetFieldType ( field ) ! ;
679679 if ( type . Kind == kind )
680680 return true ;
681681
0 commit comments