IndQuestResults.Analyzers
1.0.5-dev
See the version list below for details.
dotnet add package IndQuestResults.Analyzers --version 1.0.5-dev
NuGet\Install-Package IndQuestResults.Analyzers -Version 1.0.5-dev
<PackageReference Include="IndQuestResults.Analyzers" Version="1.0.5-dev"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="IndQuestResults.Analyzers" Version="1.0.5-dev" />
<PackageReference Include="IndQuestResults.Analyzers"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add IndQuestResults.Analyzers --version 1.0.5-dev
#r "nuget: IndQuestResults.Analyzers, 1.0.5-dev"
#:package IndQuestResults.Analyzers@1.0.5-dev
#addin nuget:?package=IndQuestResults.Analyzers&version=1.0.5-dev&prerelease
#tool nuget:?package=IndQuestResults.Analyzers&version=1.0.5-dev&prerelease
IndQuestResults - Enterprise-Grade Result<T> Library
A battle-tested, enterprise-grade Result<T> library for functional error handling in .NET applications. Provides type-safe, performant, and expressive ways to represent operation outcomes without exceptions.
โจ Key Features
- ๐ก๏ธ Type Safety: Eliminates null reference exceptions and runtime errors
- โก Performance Optimized: 70% reduction in allocations with Span<T> optimizations
- ๐ Functional Programming: Full monadic operations (Map, Bind, Match, Recover)
- ๐งต Thread-Safe: Immutable design with readonly fields
- ๐ JSON Serializable: Built-in support for API responses and data persistence
- โ ๏ธ Warning Support: Distinguish between errors and diagnostic warnings
- ๐ฏ Enterprise Ready: Extensive mutation testing with 85% quality threshold
๐ Quick Start
Installation
dotnet add package IndQuestResults
Basic Usage
using IndQuestResults;
// Success results
var success = Result.Success();
var successWithValue = Result<string>.Success("Hello World");
// Failure results
var failure = Result.WithFailure("Operation failed");
var failureWithValue = Result<int>.WithFailure("Parse error", defaultValue: 0);
// Multiple errors
var multipleErrors = Result.WithFailure(new[] { "Error 1", "Error 2" });
// Warnings (successful with diagnostics)
var withWarnings = Result<string>.WithWarnings(
new[] { "Performance warning" },
"Operation completed"
);
// Warnings with quality metadata (confidence + missing data ratio)
var withWarnsAndMeta = Result<string>.WithWarnings(
warnings: new[] { "Heuristic fill for missing fields", "Low signal period" },
value: "Computed",
confidence: 0.82, // clamped to [0,1]
missingDataRatio: 0.25 // clamped to [0,1]
);
Console.WriteLine(withWarnsAndMeta.Confidence); // 0.82
Console.WriteLine(withWarnsAndMeta.MissingDataRatio); // 0.25
Console.WriteLine(string.Join(", ", withWarnsAndMeta.Warnings));
Functional Programming
return await _dataService
.GetUserAsync(userId)
.Bind(user => _validator.ValidateUser(user))
.Map(user => user.ToDto())
.Tap(dto => _logger.LogSuccess($"User {dto.Id} processed"))
.Recover(errors => CreateDefaultUserDto())
.Match(
onSuccess: dto => Ok(dto),
onFailure: errors => BadRequest(errors)
);
๐ Package Information
- Target Framework: .NET 10.0+
- Dependencies: None (zero external dependencies)
- Package ID: IndQuestResults
- License: MIT
- Source: Battle-tested patterns from enterprise codebase
- Coverage: 74.5% with comprehensive test suite (353 tests)
- Quality: 85%+ mutation testing score
Release Notes & Download
- Recommended:
Release/IndQuestResults.1.0.4.nupkg
- Previous:
Release/IndQuestResults.1.0.3.nupkg
,Release/IndQuestResults.1.0.2.nupkg
,Release/IndQuestResults.1.0.1.nupkg
- See CHANGELOG.md for details
๐ค Contributing
We welcome high-quality contributions! IndQuestResults maintains strict quality standards:
Quick Start for Contributors
- Read our Contributing Guidelines (mandatory)
- Check our Code of Conduct
- Review existing Issues and Discussions
Quality Requirements
- โ 100% unit test coverage for new code
- โ Mutation testing score โฅ85%
- โ Zero compilation warnings (warnings as errors)
- โ XML documentation for all public APIs
- โ Performance benchmarks for performance-critical changes
๐จ Before Opening Issues
- Bug reports MUST include a reproducible repository
- Feature requests MUST include business justification and technical design
- Performance issues MUST include benchmark data and profiling results
๐ Full Contributing Guidelines โ
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Recognition
IndQuestResults serves as a reference implementation for enterprise-grade functional programming in .NET. Contributors who maintain our quality standards are recognized in release notes and project documentation.
Contributor Levels
- Bronze: First merged contribution
- Silver: 5+ contributions with sustained quality
- Gold: 20+ contributions with architectural improvements
- Platinum: Core maintainer with mutation testing expertise
๐ Support & Community
- ๐ฌ GitHub Discussions - Questions and community support
- ๐ GitHub Issues - Bug reports and feature requests
- ๐ Documentation - Comprehensive usage guide
- ๐ฏ Examples - Practical implementation samples
Quality First: We maintain enterprise-grade standards because this library powers production applications. Every contribution makes the .NET ecosystem stronger! ๐
Learn more about Target Frameworks and .NET Standard.
This package has 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.