Skip to content

Facepunch/Facepunch.AssemblySchema

Repository files navigation

Takes dlls and xmls, creates a schema that can be json serialized and transformed. Available as a package on nuget!

using var s = new Facepunch.AssemblySchema.Builder();

s.AddAssembly(pathtoassembly);
s.AddDocumentation(pathtoxml);

s.AddAssembly(pathtoassembly);
s.AddDocumentation(pathtoxml);

// build it
Facepunch.AssemblySchema.Schema schema = s.Build();

// get json
var json = System.Text.Json.JsonSerializer.Serialize(schema);

// build internal connection data (should be done after deserialize)
schema.Rebuild();

// print all types
foreach (var type in schema.Types)
{
	Console.WriteLine(type.FullName);
}

var t = data.Types.FirstOrDefault(x => x.Name == "BaseRifle");

// print everywhere this type is used in public
foreach (var member in t.GetUsage().Where(x => x.IsPublic))
{
	Console.WriteLine(member.FullName);
}

About

Takes multiple c# assemblies + xml doc, converts them to a json encodable schema for storage and review

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages