@@ -33,6 +33,11 @@ struct _GenerateOptions: ParsableArguments {
3333 " The access modifier to use for the API of generated code. Default: \( Config . defaultAccessModifier. rawValue) "
3434 ) var accessModifier : AccessModifier ?
3535
36+ @Option (
37+ help:
38+ " The strategy for converting OpenAPI names into Swift names. Default: \( Config . defaultNamingStrategy. rawValue) "
39+ ) var namingStrategy : NamingStrategy ?
40+
3641 @Option ( help: " Additional import to add to all generated files. " ) var additionalImport : [ String ] = [ ]
3742
3843 @Option ( help: " Pre-release feature to enable. Options: \( FeatureFlag . prettyListing) . " ) var featureFlag :
@@ -44,6 +49,7 @@ struct _GenerateOptions: ParsableArguments {
4449}
4550
4651extension AccessModifier : ExpressibleByArgument { }
52+ extension NamingStrategy : ExpressibleByArgument { }
4753
4854extension _GenerateOptions {
4955
@@ -60,10 +66,10 @@ extension _GenerateOptions {
6066 /// Returns the access modifier requested by the user.
6167 /// - Parameter config: The configuration specified by the user.
6268 /// - Returns: The access modifier requested by the user, or nil if the default should be used.
63- func resolvedAccessModifier( _ config: _UserConfig ? ) -> AccessModifier ? {
69+ func resolvedAccessModifier( _ config: _UserConfig ? ) -> AccessModifier {
6470 if let accessModifier { return accessModifier }
6571 if let accessModifier = config? . accessModifier { return accessModifier }
66- return nil
72+ return Config . defaultAccessModifier
6773 }
6874
6975 /// Returns a list of additional imports requested by the user.
@@ -78,7 +84,10 @@ extension _GenerateOptions {
7884 /// Returns the naming strategy requested by the user.
7985 /// - Parameter config: The configuration specified by the user.
8086 /// - Returns: The naming strategy requestd by the user.
81- func resolvedNamingStrategy( _ config: _UserConfig ? ) -> NamingStrategy { config? . namingStrategy ?? . defensive }
87+ func resolvedNamingStrategy( _ config: _UserConfig ? ) -> NamingStrategy {
88+ if let namingStrategy { return namingStrategy }
89+ return config? . namingStrategy ?? Config . defaultNamingStrategy
90+ }
8291
8392 /// Returns the name overrides requested by the user.
8493 /// - Parameter config: The configuration specified by the user.
0 commit comments