
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
20 lines
513 B
C#
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;
|
|
}
|
|
} |