createValidClassName static method
Creates a PascalCase class name from a given name
Implementation
static String createValidClassName(String name) {
// Replace invalid characters with underscores
String cleaned = name.replaceAll(RegExp(r'[^a-zA-Z0-9_]'), '_');
// Ensure it doesn't start with a number
if (cleaned.isNotEmpty && RegExp(r'^[0-9]').hasMatch(cleaned)) {
cleaned = '_$cleaned';
}
// Convert to PascalCase
final parts = cleaned.split('_').where((part) => part.isNotEmpty).toList();
if (parts.isEmpty) return '_Unnamed';
return parts
.map(
(part) => part.isEmpty
? ''
: part[0].toUpperCase() + part.substring(1).toLowerCase(),
)
.join();
}