MetaCode.TS3.Generator.Freezables
3.0.33
Prefix Reserved
.NET 6.0
.NET Standard 2.0
Install-Package MetaCode.TS3.Generator.Freezables -Version 3.0.33
dotnet add package MetaCode.TS3.Generator.Freezables --version 3.0.33
<PackageReference Include="MetaCode.TS3.Generator.Freezables" Version="3.0.33" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MetaCode.TS3.Generator.Freezables --version 3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MetaCode.TS3.Generator.Freezables, 3.0.33"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install MetaCode.TS3.Generator.Freezables as a Cake Addin
#addin nuget:?package=MetaCode.TS3.Generator.Freezables&version=3.0.33
// Install MetaCode.TS3.Generator.Freezables as a Cake Tool
#tool nuget:?package=MetaCode.TS3.Generator.Freezables&version=3.0.33
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Overview
A dotnet tool (mcts3) for model-first template-based code generation. Features built-in generators for producing source code for a variety of data model uses.
Features
- Models can be defined in .NET assemblies or JSON.
- Targetting .NET Standard 2.0 and .NET 6.0
- In-the-box templates for generating:
- ordinary mutable classes (POCOs);
- immutable classes (with builders);
- immutable classes based on C# records;
- freezable classes;
- serializable classes for Protobuf-Net, JSON and MessagePack;
- shared interfaces for all the above.
Command-line use
TBD
- Get or create a model
- Choose a generator
- Generate!
Built-in Generators
Id | Lang. | Structure | Mutability | Serialization |
---|---|---|---|---|
Interfaces | C# | Flat | Read-only | |
JsonPoco | C# | Flat | Mutable | JSON |
Freezables | C# | Flat | Freezable | |
Immutables | C# | Flat | Immutable | |
Records | C# 9 | Flat | Immutable | |
MsgPack | C# | Flat | Mutable | MessagePack |
ProtbufNet3 | C# | Flat | Mutable | Protobuf.Net |
Contracts | C# | Poly. | Read-only | |
ClassesV2 | C# | Poly. | Freezable | |
RecordsV2 | C# 9 | Poly. | Immutable | |
MsgPackV2 | C# | Poly. | Mutable | MessagePack |
MsgPackV3 | C# | Poly. | Freezable | MessagePack |
Notes:
- Read-only = client cannot invoke change;
- Immutable = provider will never change data;
- Freezable = mutable until frozen, then immutable.
- Poly. = polymorphic i.e. supports inheritance.
Build your own generator
TBD
Under consideration
- serialization for:
- interoperable MessagePack
- MsgPack.CLI
- XSD
- Bond
- DataContract
- polymorphic JSON
- other languages;
- SQL and EF
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- MetaCode.Generators (>= 4.3.23)
-
net6.0
- MetaCode.Generators (>= 4.3.23)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MetaCode.TS3.Generator.Freezables:
Package | Downloads |
---|---|
MetaCode.TS3.Generators
Helpers for quickly writing generator CLIs. |
|
MetaCode.TS3.Helpers
Helpers for quickly writing generator CLIs. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.33 | 0 | 6/30/2022 |
3.0.30 | 60 | 6/4/2022 |
3.0.29 | 75 | 5/14/2022 |
3.0.26 | 57 | 5/6/2022 |
3.0.22 | 70 | 5/1/2022 |
3.0.20 | 70 | 4/29/2022 |
3.0.18 | 64 | 4/29/2022 |
3.0.14 | 71 | 4/29/2022 |
3.0.12 | 61 | 4/27/2022 |
3.0.11 | 91 | 4/13/2022 |
3.0.10 | 83 | 4/12/2022 |
3.0.9 | 87 | 4/11/2022 |
3.0.6 | 78 | 3/24/2022 |
3.0.5 | 88 | 3/22/2022 |
3.0.4 | 81 | 3/21/2022 |
1.2.1-beta | 48 | 3/17/2022 |
1.1.3 | 84 | 3/16/2022 |
1.1.2 | 95 | 3/13/2022 |
1.1.1 | 86 | 3/9/2022 |
1.0.62 | 110 | 2/13/2022 |
1.0.59 | 91 | 2/11/2022 |
1.0.56 | 100 | 2/11/2022 |
1.0.53 | 107 | 1/13/2022 |
1.0.50 | 145 | 12/25/2021 |
1.0.46 | 134 | 12/22/2021 |
1.0.44 | 148 | 12/22/2021 |
1.0.43 | 151 | 12/21/2021 |
1.0.41 | 133 | 12/21/2021 |
1.0.40 | 153 | 11/28/2021 |
1.0.35 | 250 | 11/14/2021 |
1.0.29 | 198 | 11/4/2021 |
1.0.26 | 235 | 10/17/2021 |
1.0.23 | 227 | 10/3/2021 |
1.0.21 | 837 | 8/8/2021 |
1.0.20 | 262 | 8/7/2021 |
1.0.19 | 211 | 8/7/2021 |
1.0.18 | 247 | 8/7/2021 |
1.0.17 | 229 | 8/6/2021 |
1.0.13 | 1,354 | 6/8/2021 |
1.0.11 | 202 | 6/7/2021 |
1.0.10 | 331 | 5/30/2021 |
1.0.6 | 183 | 5/4/2021 |
1.0.4-beta | 209 | 5/3/2021 |
1.0.3-beta | 172 | 5/2/2021 |
0.7.29 | 273 | 4/19/2021 |
0.7.28 | 226 | 4/19/2021 |
0.7.24 | 214 | 4/17/2021 |
0.7.23 | 225 | 4/16/2021 |
0.7.20 | 211 | 4/15/2021 |
0.7.18 | 211 | 4/13/2021 |
0.7.17 | 236 | 4/11/2021 |
0.7.14 | 242 | 4/11/2021 |
0.7.9 | 210 | 3/25/2021 |
0.7.8 | 172 | 3/25/2021 |
0.7.5 | 206 | 3/20/2021 |
0.7.3 | 219 | 1/29/2021 |
0.7.1 | 256 | 1/16/2021 |
0.6.5 | 240 | 1/16/2021 |
0.6.2 | 213 | 1/15/2021 |
0.6.1 | 193 | 1/14/2021 |
0.5.34 | 269 | 1/1/2021 |
0.5.31 | 245 | 12/31/2020 |
0.5.29 | 192 | 12/29/2020 |
0.5.27 | 273 | 12/21/2020 |
0.5.25 | 197 | 12/21/2020 |
0.5.24 | 288 | 12/21/2020 |
0.5.22 | 297 | 12/21/2020 |
0.5.18 | 205 | 12/20/2020 |
0.5.12 | 241 | 12/16/2020 |
0.5.11 | 250 | 12/16/2020 |