String cameToSnake(String str) { if (str.isEmpty) return str; return str.replaceAllMapped(RegExp(r'([^A-Z])([A-Z])'), (Match match) { return '${match.group(1)}_${match.group(2)!.toLowerCase()}'; }); }