-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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".
- 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.
You can find helpful examples in this wiki, list of pages are shown on the side of this page. But for ease of access and clarity I am going to list some of the main pages in this wiki with a short description.
click on the type name to navigate to the page:
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. |
Inspired by LanguageExt, this library offers a more compact and user-friendly alternative with extensive examples and tutorials.
There is a very detailed YouTube channel with a dedicated video tutorial playlist for this library.
Star this repository and follow me on GitHub to stay informed about new releases and updates. Your support fuels this project's growth!
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