@@ -176,7 +176,7 @@ public string ToTable(bool verbose, TableGenerator.Output output)
176176 ? [ "name" , "description" , "command" , "args" , "sys" ]
177177 : new [ ] { "name" , "description" , "sys" } ;
178178
179- static string EncodeSystem ( bool system ) => system ? "X" : "" ;
179+ static string EncodeSystem ( bool system ) => system ? "X" : string . Empty ;
180180
181181 var rows = Alias . OrderByDescending ( a => a . System )
182182 . ThenBy ( a => a . Name )
@@ -395,16 +395,17 @@ private static string CreateTableDynamic(dynamic data, string[] keys, TableGener
395395 {
396396 var columns = new List < string > ( ) ;
397397 var rows = new List < object [ ] > ( ) ;
398+ var print = false ;
398399
399400 if ( data is ExpandoObject )
400401 {
401- //dictionary
402402 var dic = ( IDictionary < string , object > ) data ;
403403
404404 columns . Add ( "key" ) ;
405405 columns . Add ( "value" ) ;
406406
407407 keys ??= [ .. dic . Select ( a => a . Key ) ] ;
408+ print = true ;
408409
409410 foreach ( var key in keys . OrderBy ( a => a ) )
410411 {
@@ -438,25 +439,29 @@ private static string CreateTableDynamic(dynamic data, string[] keys, TableGener
438439 value = GetValue ( value , title , returnParameters ) ;
439440 }
440441
441- value ??= "" ;
442+ value ??= string . Empty ;
442443 row . Add ( value ) ;
443444 }
444445
445- rowsTmp . Add ( new KeyValuePair < object , object [ ] > ( row [ 0 ] + "" , [ .. row ] ) ) ;
446+ rowsTmp . Add ( new KeyValuePair < object , object [ ] > ( row [ 0 ] + string . Empty , [ .. row ] ) ) ;
446447 }
447448
448449 //order row by first column
449450 rows . AddRange ( [ .. rowsTmp . OrderBy ( a => a . Key ) . Select ( a => a . Value ) ] ) ;
450- if ( rows . Count == 0 ) { data = "" ; }
451+ if ( rows . Count == 0 ) { data = string . Empty ; }
451452 }
452453
453454 if ( rows . Count > 0 )
454455 {
455456 return TableGenerator . To ( columns , rows , output ) ;
456457 }
458+ else if ( print )
459+ {
460+ return string . Empty ;
461+ }
457462 else
458463 {
459- return data ;
464+ return data + string . Empty ;
460465 }
461466 }
462467
@@ -491,7 +496,7 @@ private static void CreateTable(IEnumerable<ParameterApi> parameters, StringBuil
491496 if ( ! string . IsNullOrWhiteSpace ( param . TypeText ) )
492497 {
493498 //explicit text
494- partsType = JoinWord ( param . TypeText . Split ( ' ' ) , 18 , "" ) ;
499+ partsType = JoinWord ( param . TypeText . Split ( ' ' ) , 18 , string . Empty ) ;
495500 }
496501 else if ( param . EnumValues . Any ( ) )
497502 {
@@ -501,9 +506,9 @@ private static void CreateTable(IEnumerable<ParameterApi> parameters, StringBuil
501506
502507 for ( var i = 0 ; i < Math . Max ( partsType . Length , partsComment . Length ) ; i ++ )
503508 {
504- values . Add ( [ i == 0 ? param . Name : "" ,
505- i < partsType . Length ? partsType [ i ] : "" ,
506- i < partsComment . Length ? partsComment [ i ] : "" ] ) ;
509+ values . Add ( [ i == 0 ? param . Name : string . Empty ,
510+ i < partsType . Length ? partsType [ i ] : string . Empty ,
511+ i < partsComment . Length ? partsComment [ i ] : string . Empty ] ) ;
507512 }
508513 }
509514
@@ -550,7 +555,7 @@ public static string Usage(ClassApi classApiRoot,
550555 //only parameters no keys
551556 var parameters = method . Parameters . Where ( a => ! classApi . Keys . Contains ( a . Name ) ) ;
552557
553- var opts = string . Join ( "" , parameters . Where ( a => ! a . Optional ) . Select ( a => $ " { a . Name } :<{ a . Type } >") ) ;
558+ var opts = string . Join ( string . Empty , parameters . Where ( a => ! a . Optional ) . Select ( a => $ " { a . Name } :<{ a . Type } >") ) ;
554559 if ( ! string . IsNullOrWhiteSpace ( opts ) ) { ret . Append ( opts ) ; }
555560
556561 //optional parameter
@@ -609,7 +614,7 @@ private static string[] JoinWord(string[] words, int numChar, string separator)
609614 string resource )
610615 {
611616 var values = new List < ( string Attribute , string Value ) > ( ) ;
612- var error = "" ;
617+ var error = string . Empty ;
613618
614619 var classApi = ClassApi . GetFromResource ( classApiRoot , resource ) ;
615620 if ( classApi == null )
@@ -645,15 +650,15 @@ private static string[] JoinWord(string[] words, int numChar, string separator)
645650 var returnLinkHRef = classApi . Methods . FirstOrDefault ( a => a . IsGet ) . ReturnLinkHRef ;
646651 if ( ! string . IsNullOrWhiteSpace ( returnLinkHRef ) )
647652 {
648- key = returnLinkHRef . Replace ( "{" , "" ) . Replace ( "}" , "" ) ;
653+ key = returnLinkHRef . Replace ( "{" , string . Empty ) . Replace ( "}" , string . Empty ) ;
649654 }
650655 }
651656
652657 if ( result . ToData ( ) != null && ! string . IsNullOrWhiteSpace ( key ) )
653658 {
654659 var data = new List < object > ( ) ;
655660 foreach ( IDictionary < string , object > item in result . ToData ( ) ) { data . Add ( item [ key ] ) ; }
656- foreach ( var item in data . OrderBy ( a => a ) ) { values . Add ( ( attribute , item + "" ) ) ; }
661+ foreach ( var item in data . OrderBy ( a => a ) ) { values . Add ( ( attribute , item + string . Empty ) ) ; }
657662 }
658663 }
659664 }
@@ -679,7 +684,9 @@ public static async Task<string> ListAsync(PveClient client, ClassApi classApiRo
679684 {
680685 var ( values , error ) = await ListValuesAsync ( client , classApiRoot , resource ) ;
681686 return string . Join ( Environment . NewLine , values . Select ( a => $ "{ a . Attribute } { a . Value } ") ) +
682- ( string . IsNullOrWhiteSpace ( error ) ? "" : Environment . NewLine + error ) +
687+ ( string . IsNullOrWhiteSpace ( error )
688+ ? string . Empty
689+ : Environment . NewLine + error ) +
683690 Environment . NewLine ;
684691 }
685692}
0 commit comments