Skip to content

A versatile and robust utility library designed to simplify common programming tasks, enhance error handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions that streamline operations such as null checks, error handling, and railway-oriented programming (ROP) sometimes known as "Result Pattern".

License

Notifications You must be signed in to change notification settings

ZeidLab/ToolBox

Repository files navigation

🤔 What is ZeidLab.ToolBox Library?

ZeidLab.ToolBox is a versatile and robust utility library designed to simplify common programming tasks, enhance error handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions that streamline operations such as null checks, error handling, task management, and railway-oriented programming (ROP) sometimes known as "Result Pattern".

🎁 Features

  • Unit Type: A type representing the absence of a meaningful value, useful in functional programming.
  • Maybe Type: A monadic type for handling optional values, similar to Option in functional languages.
  • Result Type: A robust error-handling type for railway-oriented programming, allowing chaining of operations with explicit success and failure states.
  • Error Handling: Structured error handling with ResultError,supporting error codes, messages, and exceptions.
  • Asynchronous Support: Comprehensive support for asynchronous operations with Result types.

Inspired by LanguageExt, this library offers a more compact and user-friendly alternative with extensive examples and tutorials.

^ Back To Top

📦 Installation

To use ZeidLab.ToolBox in your project, you can install it via NuGet:

dotnet add package ZeidLab.ToolBox

for more information please visit ToolBox Package On NuGet.

^ Back To Top

📝 ChangeLogs

By each release we add new features and bug fixes. You can find the full change log here.

^ Back To Top

📖 Need Help? Read the Wiki and watch the Tutorials

There is a very detailed Wiki for this library full of descriptions and examples. also there is a YouTube channel with a dedicated video tutorials playlist for this library.

The main topics of this library are:

Types and PageLink Short Description
Maybe<TIn> A monadic type for handling optional values, similar to Option in functional languages.
Result<TIn> A robust error-handling type for railway-oriented programming, allowing chaining of operations with explicit success and failure states.
Unit A type representing the absence of a meaningful value, useful in functional programming.
ResultError Structured error handling with supporting error codes, messages, and exceptions.
Try<TIn> A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions.
TryAsync<TIn> A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions.
Extension Methods Methods to interact with Result<TIn> types

^ Back To Top

⭐️ Star and Follow

Star this repository and follow me on GitHub to stay informed about new releases and updates. Your support fuels this project's growth!

^ Back To Top

💡 Love My Work? Support the Journey!

If my content adds value to your projects, consider supporting me via crypto.

  • Bitcoin: bc1qlfljm9mysdtu064z5cf4yq4ddxgdfztgvghw3w
  • USDT(TRC20): TJFME9tAnwdnhmqGHDDG5yCs617kyQDV39

Thank you for being part of this community—let’s build smarter, together

^ Back To Top

🤝 Contributions are welcome!

Please feel free to submit issues, feature requests, or pull requests.

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Commit your changes.
  4. Push your branch and submit a pull request.

^ Back To Top

License

This project is licensed under the MIT License. See the LICENSE file for details.

^ Back To Top

About

A versatile and robust utility library designed to simplify common programming tasks, enhance error handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions that streamline operations such as null checks, error handling, and railway-oriented programming (ROP) sometimes known as "Result Pattern".

Topics

Resources

License

Stars

Watchers

Forks

Languages