Hyperbee.Pipeline 1.1.6-develop.240506164152

This is a prerelease version of Hyperbee.Pipeline.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Hyperbee.Pipeline --version 1.1.6-develop.240506164152                
NuGet\Install-Package Hyperbee.Pipeline -Version 1.1.6-develop.240506164152                
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="Hyperbee.Pipeline" Version="1.1.6-develop.240506164152" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Hyperbee.Pipeline --version 1.1.6-develop.240506164152                
#r "nuget: Hyperbee.Pipeline, 1.1.6-develop.240506164152"                
#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.
// Install Hyperbee.Pipeline as a Cake Addin
#addin nuget:?package=Hyperbee.Pipeline&version=1.1.6-develop.240506164152&prerelease

// Install Hyperbee.Pipeline as a Cake Tool
#tool nuget:?package=Hyperbee.Pipeline&version=1.1.6-develop.240506164152&prerelease                

Hyperbee.Pipeline

The Hyperbee.Pipeline library is a sophisticated tool for constructing asynchronous fluent pipelines in .NET. A pipeline, in this context, refers to a sequence of data processing elements arranged in series, where the output of one element serves as the input for the subsequent element.

A distinguishing feature of the Hyperbee.Pipeline library, setting it apart from other pipeline implementations, is its inherent support for middleware and dependency injection. Middleware introduces a higher degree of flexibility and control over the data flow, enabling developers to manipulate data as it traverses through the pipeline. This can be leveraged to implement a variety of functionalities such as eventing, caching, logging, and more, thereby enhancing the customizability of the code.

Furthermore, the support for dependency injection facilitates efficient management of dependencies within the pipeline. This leads to code that is more maintainable and testable, thereby improving the overall quality of the software.

// Takes a string and returns a number
var question = PipelineFactory
    .Start<string>()
    .PipeIf((ctx, arg) => arg == "Adams", builder => builder
        .Pipe((ctx, arg) => 42)
        .Cancel()
    )
    .Pipe((ctx, arg) => 0)
    .Build();

var answer1 = await question(new PipelineContext(), "Adams");
Assert.AreEqual(42, answer1);

var answer2 = await question(new PipelineContext(), "Smith");
Assert.AreEqual(0, answer2);
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Hyperbee.Pipeline:

Package Downloads
Hyperbee.Pipeline.Caching

Caching for Hyperbee.Pipelines async pipelines

Hyperbee.Pipeline.Auth

Auth for Hyperbee.Pipelines async pipelines

GitHub repositories

This package is not used by any popular GitHub repositories.