DevOp.Toon
0.2.9
dotnet add package DevOp.Toon --version 0.2.9
NuGet\Install-Package DevOp.Toon -Version 0.2.9
<PackageReference Include="DevOp.Toon" Version="0.2.9" />
<PackageVersion Include="DevOp.Toon" Version="0.2.9" />
<PackageReference Include="DevOp.Toon" />
paket add DevOp.Toon --version 0.2.9
#r "nuget: DevOp.Toon, 0.2.9"
#:package DevOp.Toon@0.2.9
#addin nuget:?package=DevOp.Toon&version=0.2.9
#tool nuget:?package=DevOp.Toon&version=0.2.9
DevOp.Toon
DevOp.Toon provides TOON encoding and decoding for .NET applications.
Installation
dotnet add package DevOp.Toon
Features
- Encode CLR objects and collections to TOON
- Decode TOON payloads back into .NET types
- Decode positional records, array targets, collection interfaces, and string-keyed dictionaries
- Configure encoding and decoding behavior with
ToonEncodeOptionsandToonDecodeOptions - Use shared TOON contracts from the
DevOp.Toon.Corepackage
Basic Usage
using DevOp.Toon;
var payload = new
{
Id = 42,
Name = "Widget"
};
var toon = ToonEncoder.Encode(payload);
var decoded = ToonDecoder.Decode<dynamic>(toon);
public sealed record Thing(
string Name,
IReadOnlyList<string> Tags,
Dictionary<string, string> Meta);
var source = new[] { new Thing("Alpha", new List<string> { "x", "y" }, new() { ["k"] = "v" }) };
var toon = ToonEncoder.Encode(source);
var decoded = ToonDecoder.Decode<Thing[]>(toon);
Package Notes
DevOp.Toon depends on DevOp.Toon.Core for shared TOON enums and attributes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- DevOp.Toon.Core (>= 0.1.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- System.Collections.Immutable (>= 10.0.2)
-
net10.0
- DevOp.Toon.Core (>= 0.1.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
-
net8.0
- DevOp.Toon.Core (>= 0.1.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
-
net9.0
- DevOp.Toon.Core (>= 0.1.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DevOp.Toon:
| Package | Downloads |
|---|---|
|
DevOp.Toon.API
ASP.NET Core MVC formatters and service registration extensions for TOON payloads. |
|
|
DevOp.Toon.Client
Typed HttpClient integration for TOON-first APIs with JSON fallback. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Improves typed decode coverage and fast-path performance for DTO-heavy payloads.
- Adds typed decode support for positional records and constructor-bound classes without parameterless constructors
- Fixes typed decode for array targets and collection interfaces such as IList<T>, IReadOnlyList<T>, and IEnumerable<T>
- Fixes typed decode for string-keyed dictionary targets, dictionary properties, and object-valued dictionary rows
- Improves decode performance by keeping supported record, collection, and dictionary shapes on the direct materializer path