Uhhh... the documentation is shit; still lost
This commit is contained in:
21
Sources/OpenFoodFacts/Extension+String.swift
Normal file
21
Sources/OpenFoodFacts/Extension+String.swift
Normal file
@@ -0,0 +1,21 @@
|
||||
extension String {
|
||||
func camelCaseToSnakeCase() -> String {
|
||||
var result = ""
|
||||
var lastCharacterWasUppercase = false
|
||||
|
||||
for character in self {
|
||||
if character.isUppercase {
|
||||
if !result.isEmpty && !lastCharacterWasUppercase {
|
||||
result.append("_")
|
||||
}
|
||||
result.append(character.lowercased())
|
||||
lastCharacterWasUppercase = true
|
||||
} else {
|
||||
result.append(character)
|
||||
lastCharacterWasUppercase = false
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user