toSnakeCase function
Convert PascalCase or camelCase to snake_case Example: "MyAppName" -> "my_app_name"
Implementation
String toSnakeCase(String input) {
if (input.isEmpty) return input;
final StringBuffer buffer = StringBuffer();
for (int i = 0; i < input.length; i++) {
final String char = input[i];
if (char.toUpperCase() == char && char.toLowerCase() != char) {
if (i > 0) buffer.write('_');
buffer.write(char.toLowerCase());
} else {
buffer.write(char);
}
}
return buffer.toString();
}