An attribute class used by the editor datamodel to convert CLR property names to camelCase for generated attribute names. It overrides GetAttributeName to lowercase the first character and append the rest of the property name.
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
namespace HumanoidRetargeter.EditorTools.Embedded.Datamodel.Format;
/// <summary>
/// This class' property names are mostly camelCase.
/// </summary>
public class CamelCasePropertiesAttribute : AttributeNamingConventionAttribute
{
public override string GetAttributeName(string propertyName, Type _)
=> char.ToLowerInvariant(propertyName.AsSpan()[0]) + propertyName[1..];
}