@@ -31,57 +31,61 @@ enum GenerationError: Error {
3131 }
3232}
3333
34- class GeneratorOptions {
34+ final class GeneratorOptions {
3535 enum Visibility : String {
36- case Internal
37- case Public
36+ case `internal` = " Internal "
37+ case `public` = " Public "
3838
3939 var sourceSnippet : String {
4040 switch self {
41- case . Internal :
41+ case . internal :
4242 return " internal "
43- case . Public :
43+ case . public :
4444 return " public "
4545 }
4646 }
4747 }
4848
49- let visibility : Visibility
50- let generateTestStubs : Bool
51- let generateClient : Bool
52- let generateServer : Bool
49+ private ( set ) var visibility = Visibility . internal
50+ private ( set ) var generateServer = true
51+ private ( set ) var generateClient = true
52+ private ( set ) var generateTestStubs = false
5353
5454 init ( parameter: String ? ) throws {
55- var visibility : Visibility = . Internal
56-
57- var generateTestStubs = false
58-
5955 for pair in GeneratorOptions . parseParameter ( string: parameter) {
6056 switch pair. key {
6157 case " Visibility " :
6258 if let value = Visibility ( rawValue: pair. value) {
6359 visibility = value
6460 } else {
65- throw GenerationError . invalidParameterValue ( name: pair. key,
66- value: pair. value)
61+ throw GenerationError . invalidParameterValue ( name: pair. key, value: pair. value)
62+ }
63+
64+ case " Server " :
65+ if let value = Bool ( pair. value) {
66+ generateServer = value
67+ } else {
68+ throw GenerationError . invalidParameterValue ( name: pair. key, value: pair. value)
6769 }
70+
71+ case " Client " :
72+ if let value = Bool ( pair. value) {
73+ generateClient = value
74+ } else {
75+ throw GenerationError . invalidParameterValue ( name: pair. key, value: pair. value)
76+ }
77+
6878 case " TestStubs " :
69- switch pair. value {
70- case " true " : generateTestStubs = true
71- case " false " : generateTestStubs = false
72- default : throw GenerationError . invalidParameterValue ( name: pair. key,
73- value: pair. value)
79+ if let value = Bool ( pair. value) {
80+ generateTestStubs = value
81+ } else {
82+ throw GenerationError . invalidParameterValue ( name: pair. key, value: pair. value)
7483 }
7584
7685 default :
7786 throw GenerationError . unknownParameter ( name: pair. key)
7887 }
7988 }
80-
81- self . visibility = visibility
82- self . generateTestStubs = generateTestStubs
83- self . generateClient = true
84- self . generateServer = true
8589 }
8690
8791 static func parseParameter( string: String ? ) -> [ ( key: String , value: String ) ] {
0 commit comments