@@ -21,6 +21,8 @@ private static async Task Main(string[] args)
2121 var includeSubscriptions = new Option < bool > ( new [ ] { "--subscriptions" , "-s" } , "Include subscriptions" ) ;
2222 var enumStrategy = new Option < string > ( new [ ] { "--enum-strategy" , "-es" } , "Enum strategy" ) ;
2323
24+ var nullable = new Option < bool > ( new [ ] { "--nullable" , "-nu" } , "Nullable client" ) ;
25+
2426 var rootCommand = new RootCommand ( "Generate GraphQL client" )
2527 {
2628 uriArgument ,
@@ -29,7 +31,8 @@ private static async Task Main(string[] args)
2931 clientName ,
3032 authToken ,
3133 includeSubscriptions ,
32- enumStrategy
34+ enumStrategy ,
35+ nullable
3336 } ;
3437
3538 rootCommand . SetHandler ( async context =>
@@ -42,9 +45,10 @@ private static async Task Main(string[] args)
4245 var authTokenValue = result . GetValueForOption ( authToken ) ;
4346 var includeSubscriptionsValue = result . GetValueForOption ( includeSubscriptions ) ;
4447 var enumStrategyValue = result . GetValueForOption ( enumStrategy ) ;
48+ var nullableValue = result . GetValueForOption ( nullable ) ;
4549
4650 await GenerateClientAsync ( uriValue , outputFolderValue , namespaceValue , clientNameValue ,
47- includeSubscriptionsValue , authTokenValue , enumStrategyValue ) ;
51+ includeSubscriptionsValue , authTokenValue , enumStrategyValue , nullableValue ) ;
4852 }
4953 ) ;
5054
@@ -54,13 +58,13 @@ await GenerateClientAsync(uriValue, outputFolderValue, namespaceValue, clientNam
5458 }
5559
5660 private static async Task GenerateClientAsync ( Uri uri , string outputFolder , string namespaceName , string name ,
57- bool includeSubscriptions , string authToken , string enumStrategy )
61+ bool includeSubscriptions , string authToken , string enumStrategy , bool nullable )
5862 {
5963 var enumStrat = enumStrategy != null && enumStrategy . Equals ( "AddUnknownOption" , StringComparison . InvariantCultureIgnoreCase )
6064 ? EnumGeneratorStrategy . AddUnknownOption
6165 : EnumGeneratorStrategy . FailIfMissing ;
6266
63- var generator = new ClientGenerator ( namespaceName , name , includeSubscriptions , enumStrat ) ;
67+ var generator = new ClientGenerator ( namespaceName , name , includeSubscriptions , enumStrat , nullable ) ;
6468 var entries = await generator . GenerateAsync ( uri , authToken ) ;
6569
6670 var outputPath = Path . GetFullPath ( outputFolder , Environment . CurrentDirectory ) ;
0 commit comments