IndQuestResults 1.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package IndQuestResults --version 1.0.3
                    
NuGet\Install-Package IndQuestResults -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IndQuestResults" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IndQuestResults" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="IndQuestResults" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IndQuestResults --version 1.0.3
                    
#r "nuget: IndQuestResults, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package IndQuestResults@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=IndQuestResults&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=IndQuestResults&version=1.0.3
                    
Install as a Cake Tool

IndQuestResults - Enterprise-Grade Result<T> Library

Build Status Mutation Score Coverage License .NET Version NuGet Contributors Code of Conduct

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"
);

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 9.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.1.nupkg
  • Previous (kept temporarily for consumers): Release/IndQuestResults.1.0.0.nupkg
  • See CHANGELOG.md for details

๐Ÿค Contributing

We welcome high-quality contributions! IndQuestResults maintains strict quality standards:

Quick Start for Contributors

  1. Read our Contributing Guidelines (mandatory)
  2. Check our Code of Conduct
  3. 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


Quality First: We maintain enterprise-grade standards because this library powers production applications. Every contribution makes the .NET ecosystem stronger! ๐Ÿš€

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.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
1.0.6 186 9/19/2025
1.0.5 199 9/19/2025
1.0.4 219 9/19/2025
1.0.3 264 9/19/2025
1.0.2 260 9/19/2025
1.0.1 274 9/18/2025
1.0.0 277 9/17/2025