DropBear.Codex.Serialization 2024.3.12

There is a newer version of this package available.
See the version list below for details.
dotnet add package DropBear.Codex.Serialization --version 2024.3.12
NuGet\Install-Package DropBear.Codex.Serialization -Version 2024.3.12
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DropBear.Codex.Serialization" Version="2024.3.12" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DropBear.Codex.Serialization --version 2024.3.12
#r "nuget: DropBear.Codex.Serialization, 2024.3.12"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DropBear.Codex.Serialization as a Cake Addin
#addin nuget:?package=DropBear.Codex.Serialization&version=2024.3.12

// Install DropBear.Codex.Serialization as a Cake Tool
#tool nuget:?package=DropBear.Codex.Serialization&version=2024.3.12

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DropBear.Codex.Serialization:

Package Downloads
DropBear.Codex.Files

DropBear.Codex.Files is a versatile .NET library designed for efficient file management, offering seamless integration with advanced features such as delta updates for optimized storage and bandwidth usage. Tailored for applications requiring robust file operations, it provides a foundation for both local and cloud storage scenarios, ensuring high performance and scalability. (Advanced features available when paired with DropBear.Codex.DeltaBlobStorage package.)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2024.4.14 130 4/23/2024
2024.4.13 96 4/23/2024
2024.4.12 80 4/23/2024
2024.4.10 85 4/23/2024
2024.4.9 78 4/22/2024
2024.4.8 82 4/22/2024
2024.4.7 74 4/22/2024
2024.4.6 94 4/20/2024
2024.4.5 76 4/20/2024
2024.4.4 76 4/20/2024
2024.4.3 77 4/19/2024
2024.3.15 98 4/1/2024
2024.3.13 71 3/30/2024
2024.3.12 74 3/30/2024
2024.3.11 72 3/30/2024
2024.3.9 71 3/30/2024
2024.3.8 68 3/30/2024
2024.3.5 138 3/29/2024
2024.3.4 83 3/28/2024
2024.3.3 96 3/21/2024
2024.3.2 80 3/16/2024
2024.3.1 100 3/11/2024
2024.2.11 93 2/28/2024
2024.2.9 98 2/26/2024
2024.2.8 101 2/25/2024