ThunderPropagator.FormatSerializers.Toon
1.0.1-beta.5
dotnet add package ThunderPropagator.FormatSerializers.Toon --version 1.0.1-beta.5
NuGet\Install-Package ThunderPropagator.FormatSerializers.Toon -Version 1.0.1-beta.5
<PackageReference Include="ThunderPropagator.FormatSerializers.Toon" Version="1.0.1-beta.5" />
<PackageVersion Include="ThunderPropagator.FormatSerializers.Toon" Version="1.0.1-beta.5" />
<PackageReference Include="ThunderPropagator.FormatSerializers.Toon" />
paket add ThunderPropagator.FormatSerializers.Toon --version 1.0.1-beta.5
#r "nuget: ThunderPropagator.FormatSerializers.Toon, 1.0.1-beta.5"
#:package ThunderPropagator.FormatSerializers.Toon@1.0.1-beta.5
#addin nuget:?package=ThunderPropagator.FormatSerializers.Toon&version=1.0.1-beta.5&prerelease
#tool nuget:?package=ThunderPropagator.FormatSerializers.Toon&version=1.0.1-beta.5&prerelease
ThunderPropagator Format Serializers
Format-specific .NET adapters for the ThunderPropagator serializer registry. The repository provides independently referenceable MessagePack, NetJSON, protobuf, TOON, XML, and YAML packages targeting .NET 8, .NET 9, and .NET 10.
Documentation
The generated documentation hub compares formats and links to API contracts, dependencies, diagrams, and usage recipes.
- MessagePack
Types:3Files:5Diagrams:✓ - NetJSON
Types:3Files:5Diagrams:✓ - Protobuf
Types:3Files:5Diagrams:✓ - TOON
Types:3Files:5Diagrams:✓ - XML
Types:3Files:5Diagrams:✓ - YAML
Types:10Files:9Diagrams:✓
Package sources
No repository NuGet.Config is present. NuGet.org dependencies use the default feed. Configure GitHub Packages to restore the shared ThunderPropagator package:
dotnet nuget add source https://nuget.pkg.github.com/KiarashMinoo/index.json --name github --username YOUR_GITHUB_USERNAME --password YOUR_GITHUB_PAT --store-password-in-clear-text
dotnet restore
dotnet build -c Release
Last generated: July 21, 2026
Packages
| Package | Format | Serializer ID | Media type | String representation |
|---|---|---|---|---|
ThunderPropagator.FormatSerializers.MessagePack |
MessagePack | 5 | application/x-msgpack |
Base64 |
ThunderPropagator.FormatSerializers.NetJson |
JSON | 3 | application/json |
JSON |
ThunderPropagator.FormatSerializers.Protobuf |
Protocol Buffers | 4 | application/x-protobuf |
Base64 |
ThunderPropagator.FormatSerializers.Toon |
TOON | 8 | text/toon |
TOON |
ThunderPropagator.FormatSerializers.Xml |
XML | 6 | application/xml |
XML |
ThunderPropagator.FormatSerializers.Yaml |
YAML | 7 | application/yaml |
YAML |
All packages currently use repository version 1.0.1-beta.3. Platform-specific and Debug package suffixes are supplied by the shared build configuration.
Usage
Each module exposes extension methods for direct conversion. Binary formats use Base64 when a string is required by the common serializer contract.
using ThunderPropagator.FormatSerializers.MessagePack;
using ThunderPropagator.FormatSerializers.NetJson;
using ThunderPropagator.FormatSerializers.Protobuf;
using ThunderPropagator.FormatSerializers.Toon;
using ThunderPropagator.FormatSerializers.Xml;
using ThunderPropagator.FormatSerializers.Yaml;
var messagePack = order.ToMessagePackBytes();
var json = order.ToNetJson();
var protobuf = order.ToProtobufBytes();
var toon = order.ToToon();
var xml = order.ToXml();
var yaml = order.ToYaml();
Restore typed values through the matching helpers:
var fromMessagePack = messagePack.FromMessagePack<Order>();
var fromJson = json.FromNetJson<Order>();
var fromProtobuf = protobuf.FromProtobuf<Order>();
var fromToon = toon.FromToon<Order>();
var fromXml = xml.FromXml<Order>();
var fromYaml = yaml.FromYaml<Order>();
MessagePack also provides DI registration for both common format interfaces:
services.AddMessagePackFormatSerializer();
Shared behavior
- Format adapters implement
IFormatSerializerandIFormatDeserializerfrom ThunderPropagator BuildingBlocks. - Operations create tracing activities when the shared telemetry source has listeners.
- MessagePack, NetJSON, protobuf, XML, and YAML temporarily protect members recognized by
SensitiveDataEncryptionduring serialization and decrypt them after deserialization. - Empty input through a format adapter returns
default; direct helpers otherwise expose codec-specific errors. - Package versions are managed centrally in
Directory.Packages.props.
See the format comparison before choosing a wire representation.
Build and test
The solution builds all six packages for .NET 8, .NET 9, and .NET 10. Tests currently run on .NET 10.
dotnet restore
dotnet build ThunderPropagator.FormatSerializers.slnx -c Release
dotnet test ThunderPropagator.FormatSerializers.slnx -c Release --no-build
dotnet pack ThunderPropagator.FormatSerializers.slnx -c Release -o artifacts/pkg
Supported solution platforms are Any CPU, x86, x64, and ARM64. Architecture tests enforce package independence and serializer-layer constraints; the unit suite covers helpers and the shared serializer registry behavior.
Repository layout
src/ Serializer package implementations
Tests/ Unit and architecture tests
docs/ Generated per-package documentation
.github/ CI, dependency, and security automation
CI and security
GitHub Actions definitions cover build/test, dependency updates, static and dynamic analysis, penetration testing, and patch management. Review the workflows under .github/workflows before enabling repository secrets or deployment permissions.
Contributing
- Keep package-specific code isolated under its module.
- Add or update tests for behavior changes.
- Update the matching generated module README and catalog badges.
- Run build and tests in Release configuration before opening a pull request.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- ThunderPropagator.BuildingBlocks (>= 1.0.1-beta.114)
- ToonNet (>= 1.0.4)
-
net8.0
- ThunderPropagator.BuildingBlocks (>= 1.0.1-beta.114)
- ToonNet (>= 1.0.4)
-
net9.0
- ThunderPropagator.BuildingBlocks (>= 1.0.1-beta.114)
- ToonNet (>= 1.0.4)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on ThunderPropagator.FormatSerializers.Toon:
| Package | Downloads |
|---|---|
|
ThunderPropagator.SubscriptionMessageFormatters.Toon
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.SubscriptionMessageFormatters.Toon.ARM64
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug.ARM64
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.SubscriptionMessageFormatters.Toon.Debug.x64
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-beta.5 | 0 | 7/21/2026 |
| 1.0.1-beta.4 | 14 | 7/21/2026 |
| 1.0.1-beta.2 | 32 | 7/20/2026 |
| 1.0.1-beta.1 | 36 | 7/20/2026 |
- feat(di): add serializer registration extensions