DropBear.Codex.Core
2024.4.1
See the version list below for details.
dotnet add package DropBear.Codex.Core --version 2024.4.1
NuGet\Install-Package DropBear.Codex.Core -Version 2024.4.1
<PackageReference Include="DropBear.Codex.Core" Version="2024.4.1" />
paket add DropBear.Codex.Core --version 2024.4.1
#r "nuget: DropBear.Codex.Core, 2024.4.1"
// Install DropBear.Codex.Core as a Cake Addin #addin nuget:?package=DropBear.Codex.Core&version=2024.4.1 // Install DropBear.Codex.Core as a Cake Tool #tool nuget:?package=DropBear.Codex.Core&version=2024.4.1
DropBear Codex
DropBear Codex is a .NET library designed to enhance application reliability and data integrity. It introduces a robust system for operation results handling, supporting generic result types with integrated payload data integrity verification via checksums. The library is equipped with custom MessagePack serialization for complex types, ensuring efficient and secure data transfer.
Features
- Generic result types (
Result
,Result<T>
, andResultWithPayload<T>
) to represent the outcomes of operations clearly. - Integrated checksum for data integrity verification in
ResultWithPayload<T>
. - Custom MessagePack formatters for serialization and deserialization of complex and custom types.
- Extensions for ASP.NET Core and asynchronous programming, facilitating seamless integration.
Getting Started
Follow these instructions to get DropBear Codex running in your project for development and testing purposes.
Prerequisites
- .NET 6.0 SDK or later
- An IDE like Visual Studio 2022, VS Code, or Rider
Installing
- Add DropBear Codex to your .NET project via NuGet:
dotnet add package DropBear.Codex.Core
- Use the library in your project by adding the appropriate
using
statements:
using DropBear.Codex.Core.ReturnTypes;
using DropBear.Codex.Core.Extensions;
Usage
Basic Usage
Utilize Result
and Result<T>
for simple operation outcomes:
public Result PerformOperation()
{
// Operation logic
return Result.Success();
}
public Result<string> GetOperationData()
{
// Operation logic
return Result<string>.Success("Operation data");
}
Advanced Usage with Payload
Use ResultWithPayload<T>
for operations that require data integrity checks:
public ResultWithPayload<MyDataType> GetSecureData()
{
MyDataType data = new MyDataType();
// Populate data
return ResultWithPayload<MyDataType>.Success(new Payload<MyDataType>(data));
}
Running the Tests
Run the automated tests for this system using the following command:
dotnet test
Deployment
Refer to .NET deployment best practices for deploying your application with DropBear Codex integrated.
Built With
- .NET 8 - The development framework@
- MessagePack - Used for efficient serialization@
Contributing
We welcome contributions! Please submit pull requests or open issues on our GitHub repository.
Versioning
We use SemVer for versioning. For the versions available, see the releases on our repository.
Authors
- Terrence Kuchel (DropBear) - Initial work - tkuchel GitHub See also the list of contributors who participated in this project.
License
This project is licensed under the GNU Lesser Public License v3 - see the LICENSE file for details.
Acknowledgments
- Hat tip to anyone whose code was used
- Inspiration
- etc
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
- BouncyCastle.Cryptography (>= 2.3.0)
- MessagePack (>= 2.5.140)
- MessagePack.Annotations (>= 2.5.140)
- Newtonsoft.Json (>= 13.0.3)
- SauceControl.Blake2Fast (>= 2.0.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on DropBear.Codex.Core:
Package | Downloads |
---|---|
DropBear.Codex.Utilities
Provides utility classes and helpers for the DropBear.Codex ecosystem |
|
DropBear.Codex.StateManagement
Simplified state management and snapshot system for the DropBear Codex framework. |
|
DropBear.Codex.Serialization
Provides serialization and deserialization utilities for the DropBear.Codex ecosystem |
|
DropBear.Codex.Files
Provides file management and storage capabilities for the DropBear.Codex ecosystem |
|
DropBear.Codex.Hashing
Provides various hashing implementations and utilities for the DropBear.Codex ecosystem |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2024.9.44 | 154 | 9/20/2024 |
2024.9.43 | 167 | 9/16/2024 |
2024.9.42 | 149 | 9/16/2024 |
2024.9.32 | 151 | 9/13/2024 |
2024.9.25 | 174 | 9/11/2024 |
2024.9.1 | 159 | 9/8/2024 |
2024.8.54 | 171 | 9/6/2024 |
2024.8.36 | 158 | 9/2/2024 |
2024.7.1 | 131 | 7/24/2024 |
2024.6.2 | 168 | 6/19/2024 |
2024.5.9 | 181 | 5/19/2024 |
2024.5.8 | 102 | 5/19/2024 |
2024.5.6 | 261 | 5/4/2024 |
2024.5.5 | 108 | 5/4/2024 |
2024.5.4 | 133 | 5/4/2024 |
2024.5.3 | 56 | 5/3/2024 |
2024.5.2 | 69 | 5/3/2024 |
2024.5.1 | 70 | 5/3/2024 |
2024.4.8 | 342 | 4/30/2024 |
2024.4.5 | 576 | 4/17/2024 |
2024.4.4 | 111 | 4/16/2024 |
2024.4.3 | 101 | 4/16/2024 |
2024.4.1 | 167 | 4/13/2024 |
2024.3.13 | 363 | 3/28/2024 |
2024.3.12 | 172 | 3/21/2024 |
2024.3.11 | 187 | 3/16/2024 |
2024.3.10 | 116 | 3/16/2024 |
2024.3.9 | 111 | 3/15/2024 |
2024.3.6 | 123 | 3/15/2024 |
2024.3.5 | 119 | 3/13/2024 |
2024.3.4 | 160 | 3/11/2024 |
2024.3.1 | 125 | 3/2/2024 |
2024.2.34 | 134 | 2/26/2024 |
2024.2.31 | 119 | 2/26/2024 |
2024.2.30 | 157 | 2/22/2024 |
2024.2.25 | 146 | 2/21/2024 |