transformed method
Implementation
String? transformed(TextTransform? transform) {
if (this == null) return null;
if (transform == TextTransform.uppercase) {
return this!.toUpperCase();
} else if (transform == TextTransform.lowercase) {
return this!.toLowerCase();
} else if (transform == TextTransform.capitalize) {
final stringBuffer = StringBuffer();
var capitalizeNext = true;
for (final letter in this!.toLowerCase().codeUnits) {
// UTF-16: A-Z => 65-90, a-z => 97-122.
if (capitalizeNext && letter >= 97 && letter <= 122) {
stringBuffer.writeCharCode(letter - 32);
capitalizeNext = false;
} else {
// UTF-16: 32 == space, 46 == period
if (letter == 32 || letter == 46) capitalizeNext = true;
stringBuffer.writeCharCode(letter);
}
}
return stringBuffer.toString();
} else {
return this;
}
}