createValidClassName static method

String createValidClassName(
  1. String name
)

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