{"id":31028300,"url":"https://github.com/zeidlab/toolbox","last_synced_at":"2026-04-09T10:40:59.440Z","repository":{"id":271722713,"uuid":"914328358","full_name":"ZeidLab/ToolBox","owner":"ZeidLab","description":"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\".","archived":false,"fork":false,"pushed_at":"2025-06-23T15:52:07.000Z","size":374,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-31T10:10:20.547Z","etag":null,"topics":["error-handling","exception-handling","maybe-monad","null-checking","null-safety","optional-parameters","railway-oriented-programming","result-object","result-pattern"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZeidLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-09T11:36:31.000Z","updated_at":"2025-06-23T15:52:12.000Z","dependencies_parsed_at":"2025-01-09T14:36:58.946Z","dependency_job_id":"7cc75d76-20dc-47b1-bb28-6df1aecdb8ed","html_url":"https://github.com/ZeidLab/ToolBox","commit_stats":null,"previous_names":["zeidlab/toolbox"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ZeidLab/ToolBox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeidLab%2FToolBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeidLab%2FToolBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeidLab%2FToolBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeidLab%2FToolBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZeidLab","download_url":"https://codeload.github.com/ZeidLab/ToolBox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeidLab%2FToolBox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275020170,"owners_count":25391653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["error-handling","exception-handling","maybe-monad","null-checking","null-safety","optional-parameters","railway-oriented-programming","result-object","result-pattern"],"created_at":"2025-09-13T20:13:20.860Z","updated_at":"2026-04-09T10:40:54.400Z","avatar_url":"https://github.com/ZeidLab.png","language":"C#","readme":"﻿## 🤔 What is `ZeidLab.ToolBox` Library?\n\n**ZeidLab.ToolBox** is a versatile and robust utility library designed to simplify common programming tasks, enhance\nerror handling, and promote functional programming paradigms in C#. It provides a collection of tools and extensions\nthat streamline operations such as null checks, error handling, task management, and railway-oriented programming (ROP)\nsometimes known as \"Result Pattern\".\n\n### 🎁 Features\n\n* **Unit Type:** A type representing the absence of a meaningful value, useful in functional programming.\n* **Maybe Type:** A monadic type for handling optional values, similar to Option in functional languages.\n* **Result Type:** A robust error-handling type for railway-oriented programming, allowing chaining of operations with\n  explicit success and failure states.\n* **Error Handling:** Structured error handling with ResultError,supporting error codes, messages, and exceptions.\n* **Asynchronous Support:** Comprehensive support for asynchronous operations with Result types.\n\nInspired by [LanguageExt](https://github.com/louthy/language-ext), this library offers a more compact and user-friendly\nalternative with extensive examples and tutorials.\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## 📦 Installation\n\nTo use **ZeidLab.ToolBox** in your project, you can install it via NuGet:\n\n```bash\ndotnet add package ZeidLab.ToolBox\n```\nfor more information please visit [ToolBox Package On NuGet](https://www.nuget.org/packages/ZeidLab.ToolBox).\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## 📝 ChangeLogs\n\nBy each release we add new features and bug fixes. You can find the full change\nlog [here](https://github.com/ZeidLab/ToolBox/releases).\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## 📖 Need Help? Read the Wiki and watch the Tutorials\n\nThere is a very detailed [Wiki](https://github.com/ZeidLab/ToolBox/wiki) for this library full of descriptions and\nexamples. also there is\na [YouTube channel with a dedicated video tutorials playlist](https://youtube.com/@zeidlabco?si=xAsUEwBoDNrJdmdK) for\nthis library.\n\nThe main topics of this library are:\n\n| Types and PageLink                                                                    | Short Description                                                                                                                        |\n|---------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|\n| [`Maybe\u003cTIn\u003e`](https://github.com/ZeidLab/ToolBox/wiki/Maybe-Type)                    | A monadic type for handling optional values, similar to Option in functional languages.                                                  |\n| [`Result\u003cTIn\u003e`](https://github.com/ZeidLab/ToolBox/wiki/Result-Type)                  | A robust error-handling type for railway-oriented programming, allowing chaining of operations with explicit success and failure states. |\n| [`Unit`](https://github.com/ZeidLab/ToolBox/wiki/Unit-Type)                           | A type representing the absence of a meaningful value, useful in functional programming.                                                 |\n| [`ResultError`](https://github.com/ZeidLab/ToolBox/wiki/ResultError-Type)             | Structured error handling with supporting error codes, messages, and exceptions.                                                         |\n| [`Try\u003cTIn\u003e`](https://github.com/ZeidLab/ToolBox/wiki/Try-And-TryAsync-Type)           | A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions.                     |\n| [`TryAsync\u003cTIn\u003e`](https://github.com/ZeidLab/ToolBox/wiki/Try-And-TryAsync-Type)      | A delegate to handel the unhandled exceptions in an efficient and expressive way in a synchronous flow of functions.                     |\n| [Extension Methods](https://github.com/ZeidLab/ToolBox/wiki/Result-Extension-Methods) | Methods to interact with `Result\u003cTIn\u003e` types                                                                                             |\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## ⭐️ Star and Follow\n\nStar this repository and follow me on GitHub to stay informed about new releases and updates. Your support fuels this\nproject's growth!\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## 💡 Love My Work? Support the Journey!\n\nIf my content adds value to your projects, consider supporting me via crypto.\n\n- **Bitcoin:** bc1qlfljm9mysdtu064z5cf4yq4ddxgdfztgvghw3w\n- **USDT(TRC20):** TJFME9tAnwdnhmqGHDDG5yCs617kyQDV39\n\nThank you for being part of this community—let’s build smarter, together\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## 🤝 Contributions are welcome!\n\nPlease feel free to submit issues, feature requests, or pull requests.\n\n1. [X]  Fork the repository.\n2. [X]  Create a new branch for your feature or bugfix.\n3. [X]  Commit your changes.\n4. [X]  Push your branch and submit a pull request.\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE.txt) file for details.\n\n[^ Back To Top](#-what-is-zeidlabtoolbox-library)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeidlab%2Ftoolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeidlab%2Ftoolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeidlab%2Ftoolbox/lists"}