namespace QuestPDF.InteropGenerators; /// /// Helper class for naming convention conversions /// public static class NamingHelper { /// /// Converts PascalCase to SCREAMING_SNAKE_CASE /// /// String in PascalCase format /// String in SCREAMING_SNAKE_CASE format public static string ToSnakeCase(string pascalCase) { if (string.IsNullOrEmpty(pascalCase)) return pascalCase; var result = new System.Text.StringBuilder(); result.Append(char.ToUpperInvariant(pascalCase[0])); for (int i = 1; i < pascalCase.Length; i++) { if (char.IsUpper(pascalCase[i])) { result.Append('_'); result.Append(pascalCase[i]); } else { result.Append(char.ToUpperInvariant(pascalCase[i])); } } return result.ToString(); } }