Code generator for SignalR Core.
Based on NJsonSchema (see also: NSwag).
var sigSpecSettings = new SigSpecGeneratorSettings();
var generator = new SigSpecGenerator(sigSpecSettings);
var document = await generator.GenerateForHubsAsync(new Dictionary<string, Type>
{
{ "my-hub", typeof(MyHub) }
});
var codeGeneratorSettings = new SigSpecToCSharpGeneratorSettings
{
CSharpGeneratorSettings =
{
Namespace = "MyProject.SignalR.Clients",
GenerateNullableReferenceTypes = true,
}
};
var codeGenerator = new SigSpecToCSharpGenerator(codeGeneratorSettings);
var code = codeGenerator.GenerateClients(document);
File.WriteAllText("SignalRClient.cs", code);
var sigSpecSettings = new SigSpecGeneratorSettings();
var generator = new SigSpecGenerator(sigSpecSettings);
var document = await generator.GenerateForHubsAsync(new Dictionary<string, Type>
{
{ "my-hub", typeof(MyHub) }
});
var codeGeneratorSettings = new SigSpecToTypeScriptGeneratorSettings
{
TypeScriptGeneratorSettings =
{
TypeStyle = TypeScriptTypeStyle.Class,
NullValue = TypeScriptNullValue.Null,
MarkOptionalProperties = false,
ConvertConstructorInterfaceData = true
}
};
var codeGenerator = new SigSpecToTypeScriptGenerator(codeGeneratorSettings);
var code = string.Join(Environment.NewLine,
"/* tslint:disable */",
"/* eslint-disable */",
"// @ts-ignore",
codeGenerator.GenerateFile(document)
);
File.WriteAllText("SignalRClient.ts", code);