Files
se-launcher/CringePlugins/Config/Spec/IConfigurationSpecProvider.cs
zznty ae16f3a038
All checks were successful
Build / Compute Version (push) Successful in 6s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 4m1s
Build / Build Nuget package (CringePlugins) (push) Successful in 4m1s
Build / Build Nuget package (SharedCringe) (push) Successful in 3m59s
Build / Build Launcher (push) Successful in 5m3s
Build / Build Nuget package (NuGet) (push) Successful in 8m58s
cleanup
2025-06-03 04:23:36 +07:00

20 lines
513 B
C#

using System.Reflection;
using Json.Schema;
namespace CringePlugins.Config.Spec;
public interface IConfigurationSpecProvider
{
static abstract JsonSchema Spec { get; }
static JsonSchema? FromType(Type type)
{
if (type.IsAssignableTo(typeof(IConfigurationSpecProvider)))
{
return (JsonSchema)type.GetProperty(nameof(Spec), BindingFlags.Static | BindingFlags.Public | BindingFlags.DeclaredOnly)!
.GetValue(null)!;
}
return null;
}
}