DropBear.Codex.Serialization
2024.2.9
See the version list below for details.
dotnet add package DropBear.Codex.Serialization --version 2024.2.9
NuGet\Install-Package DropBear.Codex.Serialization -Version 2024.2.9
<PackageReference Include="DropBear.Codex.Serialization" Version="2024.2.9" />
paket add DropBear.Codex.Serialization --version 2024.2.9
#r "nuget: DropBear.Codex.Serialization, 2024.2.9"
// Install DropBear.Codex.Serialization as a Cake Addin #addin nuget:?package=DropBear.Codex.Serialization&version=2024.2.9 // Install DropBear.Codex.Serialization as a Cake Tool #tool nuget:?package=DropBear.Codex.Serialization&version=2024.2.9
Serialization Project
Overview
This project provides advanced serialization and deserialization capabilities, supporting formats like JSON, MessagePack, and MemoryPack. It includes performance optimizations, error handling, and supports compression and encoding options.
Features
- Serialization & Deserialization: Supports JSON, MessagePack, and MemoryPack with optional compression.
- Customizable: Easily extendable for additional formats or compression algorithms.
- Error Handling: Robust error handling and logging for debugging and operational insights.
Getting Started
To use the serializers, instantiate the DataSerializer
class with dependencies on specific serializers (JsonSerializer
, MessagePackSerializer
, MemoryPackSerializer
) and a compression helper.
var logger = // Obtain ILogger instance
var compressionHelper = new CompressionHelper(logger);
var jsonSerializer = new JsonSerializer(logger, compressionHelper);
var messagePackSerializer = new MessagePackSerializer(logger, compressionHelper);
var memoryPackSerializer = new MemoryPackSerializer(logger, compressionHelper);
var dataSerializer = new DataSerializer(logger, jsonSerializer, messagePackSerializer, memoryPackSerializer);
Alternatively use the service collection extension method to register the serializers and compression helper.
Simply add the following line to your `Startup.cs` file:
services.AddDataSerializationServices();
Usage
Use the dataSerializer instance to serialize and deserialize data to/from JSON, MessagePack, and MemoryPack formats, with or without compression.
Contributing
Contributions are welcome! Please open an issue or pull request to suggest improvements or add new features. License
This project is licensed under GNU Lesser General Public License.
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. |
-
net8.0
- DropBear.Codex.Core (>= 2024.2.30)
- K4os.Compression.LZ4 (>= 1.3.6)
- K4os.Compression.LZ4.Streams (>= 1.3.6)
- MemoryPack (>= 1.10.0)
- MessagePack (>= 2.5.140)
- Microsoft.Extensions.DependencyInjection (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DropBear.Codex.Serialization:
Package | Downloads |
---|---|
DropBear.Codex.Files
Provides file management and storage capabilities for the DropBear.Codex ecosystem |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2024.11.5 | 74 | 11/12/2024 |
2024.9.44 | 101 | 9/20/2024 |
2024.9.43 | 125 | 9/16/2024 |
2024.9.42 | 104 | 9/16/2024 |
2024.9.32 | 105 | 9/13/2024 |
2024.9.25 | 113 | 9/11/2024 |
2024.9.1 | 108 | 9/8/2024 |
2024.8.54 | 109 | 9/6/2024 |
2024.8.36 | 105 | 9/2/2024 |
2024.7.1 | 77 | 7/24/2024 |
2024.4.14 | 171 | 4/23/2024 |
2024.4.13 | 124 | 4/23/2024 |
2024.4.12 | 109 | 4/23/2024 |
2024.4.10 | 108 | 4/23/2024 |
2024.4.9 | 100 | 4/22/2024 |
2024.4.8 | 110 | 4/22/2024 |
2024.4.7 | 98 | 4/22/2024 |
2024.4.6 | 120 | 4/20/2024 |
2024.4.5 | 104 | 4/20/2024 |
2024.4.4 | 85 | 4/20/2024 |
2024.4.3 | 104 | 4/19/2024 |
2024.3.15 | 119 | 4/1/2024 |
2024.3.13 | 80 | 3/30/2024 |
2024.3.12 | 97 | 3/30/2024 |
2024.3.11 | 96 | 3/30/2024 |
2024.3.9 | 111 | 3/30/2024 |
2024.3.8 | 91 | 3/30/2024 |
2024.3.5 | 182 | 3/29/2024 |
2024.3.4 | 107 | 3/28/2024 |
2024.3.3 | 120 | 3/21/2024 |
2024.3.2 | 102 | 3/16/2024 |
2024.3.1 | 124 | 3/11/2024 |
2024.2.11 | 119 | 2/28/2024 |
2024.2.9 | 122 | 2/26/2024 |
2024.2.8 | 125 | 2/25/2024 |