Project's Logo

stevedunn/vogen

0/100

Vogen is a .NET Source Generator and analyzer that transforms primitives into value objects representing domain concepts, such as CustomerId or AccountBalance. It adds new C# compilation errors to prevent the creation of invalid value objects and ensures their validity. The project includes support for various primitive types, including int, decimal, string, and DateTime, and offers optional configuration for underlying types, conversions, and exception types. Vogen aims to achieve almost the same speed and memory performance as using primitives directly and supports various serialization and type conversion options. It is a NuGet package that can be installed with dotnet add package Vogen.

Project Information

Contribution Opportunities

  • Issues are available for contributions.
  • Project boards are active.
  • Wiki is available for documentation and guides.

License

Apache License 2.0

Topics

contributions-welcome
csharp-sourcegenerator
ddd
ddd-patterns
hacktoberfest
open-source
patterns

Recent Contributors

SteveDunn's avatar

SteveDunn

993 Contributions

dependabot[bot]'s avatar

dependabot[bot]

115 Contributions

jupjohn's avatar

jupjohn

22 Contributions

danielcweber's avatar

danielcweber

11 Contributions

viceroypenguin's avatar

viceroypenguin

8 Contributions

sandervanteinde's avatar

sandervanteinde

6 Contributions

sirphilliptubell's avatar

sirphilliptubell

5 Contributions

stevedunnman's avatar

stevedunnman

5 Contributions

ThomasSkyldahl's avatar

ThomasSkyldahl

5 Contributions

danigutsch's avatar

danigutsch

5 Contributions

bobstanton's avatar

bobstanton

3 Contributions

bradtglass's avatar

bradtglass

2 Contributions

Blackclaws's avatar

Blackclaws

2 Contributions

Herdo's avatar

Herdo

2 Contributions

drusellers's avatar

drusellers

1 Contributions

jjanuszkiewicz's avatar

jjanuszkiewicz

1 Contributions

jiimaho's avatar

jiimaho

1 Contributions

ronnieoverby's avatar

ronnieoverby

1 Contributions

SimonCropp's avatar

SimonCropp

1 Contributions

DomasM's avatar

DomasM

1 Contributions

terjew's avatar

terjew

1 Contributions