in Sources/Hub/Config.swift [592:612]
func uncamelCase(_ string: BinaryDistinctString) -> BinaryDistinctString {
let scalars = string.string.unicodeScalars
var result = ""
var previousCharacterIsLowercase = false
for scalar in scalars {
if CharacterSet.uppercaseLetters.contains(scalar) {
if previousCharacterIsLowercase {
result += "_"
}
let lowercaseChar = Character(scalar).lowercased()
result += lowercaseChar
previousCharacterIsLowercase = false
} else {
result += String(scalar)
previousCharacterIsLowercase = true
}
}
return BinaryDistinctString(result)
}