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