Files
swift-openfoodfacts-sdk/Sources/OpenFoodFacts/Extension+String.swift
2023-12-26 17:29:03 +01:00

22 lines
599 B
Swift

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
}
}