Daht.Sagitta.Core
8.1.0
Prefix Reserved
dotnet add package Daht.Sagitta.Core --version 8.1.0
NuGet\Install-Package Daht.Sagitta.Core -Version 8.1.0
<PackageReference Include="Daht.Sagitta.Core" Version="8.1.0" />
<PackageVersion Include="Daht.Sagitta.Core" Version="8.1.0" />
<PackageReference Include="Daht.Sagitta.Core" />
paket add Daht.Sagitta.Core --version 8.1.0
#r "nuget: Daht.Sagitta.Core, 8.1.0"
#:package Daht.Sagitta.Core@8.1.0
#addin nuget:?package=Daht.Sagitta.Core&version=8.1.0
#tool nuget:?package=Daht.Sagitta.Core&version=8.1.0
Daht.Sagitta.Core
home / packages /
Functional paradigm abstractions for .NET
Table of contents
Installation
For information on all available versions, please see the NuGet or GitHub package registry
.NET command-line interface
dotnet add package 'Daht.Sagitta.Core' --version 'x.x.x'
For more information, please see here.
Project file
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<PackageReference Include="Daht.Sagitta.Core" Version="x.x.x" />
</ItemGroup>
</Project>
For more information, please see here.
Central package management
Directory.Packages.props
file:<Project> <PropertyGroup> <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> </PropertyGroup> <ItemGroup> <PackageVersion Include="Daht.Sagitta.Core" Version="x.x.x" /> </ItemGroup> </Project>
Project file:
<Project Sdk="Microsoft.NET.Sdk"> <ItemGroup> <PackageReference Include="Daht.Sagitta.Core" /> </ItemGroup> </Project>
For more information, please see here.
API
Root
Structures intended to integrate with and extend existing modules.
Type | Description |
---|---|
Unit | Represents the absence of a specific value, explicitly simulating the void type |
Results
Structures intended to encapsulate and manage both potential failure and expected success for a given action.
Type | Description |
---|---|
Result<TFailure, TSuccess> | Encapsulates both a possible failure and an expected success for a given action (both value and reference types) |
ResultFactory | Provide global factory methods to initialize Result<TFailure, TSuccess> |
ValueResult<TFailure, TSuccess> | Encapsulates both a possible failure and an expected success for a given action (only value types) |
ValueResultFactory | Provide global factory methods to initialize ValueResult<TFailure, TSuccess> |
FAQ
- When to use exceptions?
- For exceptional, unpredictable, or non-deterministic situations (e.g., disk I/O failures, network timeouts, out-of-memory conditions).
- For cases where local recovery is not possible or would compromise system integrity (e.g., corrupted state, violated invariants, missing critical resources).
- When an error must be propagated beyond the local scope to enable stack unwinding or a global recovery strategy (e.g., transaction rollback, centralized cleanup, subsystem restart, escalation to another module).
- When not to use exceptions?
- For predictable or expected scenarios (e.g., unavailable values, out-of-range values, invalid formats or patterns).
- As a substitute for normal control flow (e.g., loop termination, flag checking, selecting alternate code paths).
- In high-performance or latency-sensitive scenarios (e.g., tight loops, real-time processing, compute-intensive tasks).
- Why use
Result<TFailure, TSuccess>
andValueResult<TFailure, TSuccess>
instead of exceptions?- Safety: Minimizes side effects through consistent and deterministic control.
- Efficiency: Eliminates the overhead associated with exception-based flow control.
- Transparency: Explicitly and semantically exposes the state and intent of an operation.
- Extensibility: Provides a flexible API to extend, adapt, and evolve processes.
License
Licensed under the MIT License.
Security policy
Please read and keep in mind our security policy.
Code of conduct
Please read and follow our code of conduct.
Contributing guidelines
Please read and follow our contributing guidelines.
Contact
- Email (FOSS): daht.x.foss@gmail.com
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
8.1.0 | 42 | 9/8/2025 | |
8.0.1 | 132 | 8/31/2025 | |
8.0.0 | 122 | 8/31/2025 | |
7.1.0 | 306 | 12/24/2024 | |
7.0.0 | 120 | 12/24/2024 | |
6.4.0 | 117 | 12/24/2024 | |
6.3.0 | 174 | 12/14/2024 | |
6.2.0 | 143 | 12/9/2024 | |
6.1.0 | 127 | 12/9/2024 | |
6.0.0 | 165 | 11/17/2024 | |
5.0.0 | 182 | 8/22/2024 | |
4.3.0 | 158 | 6/12/2024 | |
4.2.0 | 225 | 2/13/2024 | |
4.1.0 | 146 | 2/13/2024 | |
4.0.0 | 181 | 2/4/2024 | |
3.13.0 | 180 | 1/22/2024 | |
3.12.0 | 173 | 1/22/2024 | |
3.11.0 | 220 | 1/7/2024 | |
3.10.0 | 188 | 1/5/2024 | |
3.9.0 | 195 | 1/4/2024 | |
3.8.0 | 180 | 1/4/2024 | |
3.7.0 | 184 | 1/4/2024 | |
3.6.0 | 181 | 1/4/2024 | |
3.5.0 | 186 | 1/4/2024 | |
3.4.0 | 192 | 1/4/2024 | |
3.3.0 | 179 | 1/4/2024 | |
3.2.0 | 181 | 1/3/2024 | |
3.1.0 | 174 | 1/3/2024 | |
3.0.0 | 200 | 1/2/2024 | |
2.8.0 | 265 | 12/9/2023 | |
2.7.0 | 235 | 12/8/2023 | |
2.6.0 | 215 | 12/8/2023 | |
2.5.0 | 229 | 12/8/2023 | |
2.4.0 | 233 | 12/8/2023 | |
2.3.0 | 218 | 12/6/2023 | |
2.2.0 | 228 | 12/6/2023 | |
2.1.0 | 197 | 12/6/2023 | |
2.0.0 | 220 | 12/5/2023 | |
1.2.0 | 235 | 12/5/2023 | |
1.1.0 | 232 | 12/4/2023 | |
1.0.0 | 239 | 12/3/2023 |