Skip to content

bryanchance/Zebus.MessageDsl

 
 

Repository files navigation

Zebus Message DSL

Build Zebus.MessageDsl NuGet Zebus.MessageDsl.Build NuGet

This is a DSL which simplifies the writing of ProtoBuf contracts for Zebus.

NuGet packages

Documentation

Example

Input file:

SomeMessage(int foo, string[] bar)

Generated code:

[ProtoContract]
[System.Diagnostics.DebuggerNonUserCode]
[System.CodeDom.Compiler.GeneratedCode("Abc.Zebus.MessageDsl.Build", "0.3.0.0")]
public sealed partial class SomeMessage : IEvent
{
    [ProtoMember(1, IsRequired = true)]
    public int Foo { get; private set; }
        
    [ProtoMember(2, IsRequired = false)]
    public string[] Bar { get; private set; }
        
    private SomeMessage()
    {
        Bar = Array.Empty<string>();
    }
        
    public SomeMessage(int foo, string[] bar)
    {
        Foo = foo;
        Bar = bar;
    }
}

About

A DSL which simplifies the writing of ProtoBuf contracts for Zebus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 97.2%
  • ANTLR 2.6%
  • Batchfile 0.2%