toSnakeCase function

String toSnakeCase(
  1. String input
)

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();
}