Skip to content

Commit 2c3355c

Browse files
authored
Fix enumeration value to start with lower case letter (#206)
1 parent 7e2f311 commit 2c3355c

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

src/AutorestSwift/Utils/String+Extensions.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,6 @@ extension String {
8484
let lastElementIndex = reversed().firstIndex(where: { !$0.isWhitespace })!
8585
return self[firstElementIndex ..< lastElementIndex.base]
8686
}
87+
88+
var lowercasedFirst: String { return prefix(1).lowercased() + dropFirst() }
8789
}

src/AutorestSwift/View Models/EnumerationChoiceViewModel.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ struct EnumerationChoiceViewModel {
3636
let value: String
3737

3838
init(from schema: ChoiceValue) {
39-
self.name = schema.name
39+
// Model4 passed in ChoiceValue name with first letter in Upper case despite the setting
40+
// for ChoiceValue is set to `camelcase` in README.md
41+
// Enum value starts with an Upper case will cause swiftlint error and swiftlint autocorrect will not fix this issue.
42+
// As a workaround, we lower caes the first letter of ChoiceValue in the view model.
43+
self.name = schema.name.lowercasedFirst
4044
self.comment = ViewModelComment(from: schema.description)
4145
self.value = schema.value
4246
}

templates/Package.stencil

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,6 @@ let package = Package(
2626
dependencies: ["AzureCore"],
2727
path: "Source"
2828
),
29-
// TODO: Add test targets when test code is generated
30-
// Test targets
31-
//.testTarget(
32-
// name: "{{ model.name }}Tests",
33-
// dependencies: ["{{ model.name }}"],
34-
// sources: ["Tests"]
35-
//),
3629
],
3730
swiftLanguageVersions: [.v5]
3831
)

0 commit comments

Comments
 (0)