jtr/DevDisciples.Json.Tools/Json2CSharpTranslator.ClassTranslation.cs
2024-09-16 22:46:53 +02:00

27 lines
795 B
C#

using Humanizer;
namespace DevDisciples.Json.Tools;
public static partial class Json2CSharpTranslator
{
public readonly struct ClassTranslation : ITranslation
{
public string Name { get; init; }
public List<PropertyTranslation> Properties { get; init; }
public void Translate(Context context)
{
context.Builder.Append($"public class {Name.Pascalize()}\n");
context.Builder.Append("{\n");
var last = Properties.Last();
foreach (var property in Properties)
{
property.Translate(context);
context.Builder.Append(property.Equals(last) ? string.Empty : "\n");
}
context.Builder.Append("}\n");
}
}
}