FluxFlow.Components.Control.Composition
1.4.0
dotnet add package FluxFlow.Components.Control.Composition --version 1.4.0
NuGet\Install-Package FluxFlow.Components.Control.Composition -Version 1.4.0
<PackageReference Include="FluxFlow.Components.Control.Composition" Version="1.4.0" />
<PackageVersion Include="FluxFlow.Components.Control.Composition" Version="1.4.0" />
<PackageReference Include="FluxFlow.Components.Control.Composition" />
paket add FluxFlow.Components.Control.Composition --version 1.4.0
#r "nuget: FluxFlow.Components.Control.Composition, 1.4.0"
#:package FluxFlow.Components.Control.Composition@1.4.0
#addin nuget:?package=FluxFlow.Components.Control.Composition&version=1.4.0
#tool nuget:?package=FluxFlow.Components.Control.Composition&version=1.4.0
FluxFlow.Components.Control.Composition
Optional FluxFlow.Composition registration helpers for the standalone control
nodes from FluxFlow.Components.Control.
This package does not choose an expression language, scan assemblies, or resolve
CLR types from strings. Hosts register closed control node types explicitly and
provide keyed IFlowExpressionEngine services.
Registration
services.AddKeyedSingleton<IFlowExpressionEngine>("default", expressionEngine);
services
.AddFluxFlowComposition(configuration)
.RegisterNodes(registry => registry
.RegisterFilter<OrderMessage>()
.RegisterWhen<OrderMessage>());
Use custom node type names when a host needs more than one input shape:
registry
.RegisterFilter<OrderMessage>("flow.filter.order")
.RegisterWhen<HttpResponseOutput>("flow.when.http-response");
Node Types
| Type | Node | Required resource | Ports |
|---|---|---|---|
flow.filter |
FilterNode<TInput> |
engine |
Input, Output |
flow.when |
WhenNode<TInput> |
engine |
Input, WhenTrue, WhenFalse, Output |
contextFactory is an optional keyed IFlowMapContextFactory<TInput> resource
for custom expression variables. clock is an optional keyed TimeProvider
resource for deterministic diagnostics.
For flow.when, Output is an alias for the node's primary WhenTrue stream.
Configuration
{
"FluxFlow": {
"Composition": {
"workflows": {
"main": {
"nodes": {
"important": {
"type": "flow.filter",
"resources": {
"engine": "default"
},
"configuration": {
"expression": "input.Priority == \"High\"",
"expressionName": "important-orders",
"inputType": "app.order",
"boundedCapacity": 128
}
}
},
"links": []
}
}
}
}
}
ControlExpressionOptions.InputType remains diagnostic metadata. The actual
composition port type comes from the closed generic registration selected by the
host.
Invalid ControlExpressionOptions, such as a missing expression, blank
inputType, or non-positive boundedCapacity, fail during composition build
and surface as factory diagnostics when build failures are configured as
diagnostics.
Design Metadata
ControlComponentDesignMetadataProvider exposes neutral Designer metadata for
the flow.filter and flow.when composition nodes. Hosts can add it to a
ComponentDesignMetadataCatalog to populate palettes, editors, validation
views, or generated documentation.
The provider describes editable options, host-owned resources, and ports.
engine is required; contextFactory and clock are optional. Resource
metadata includes host-owned picker hints and key patterns for the engine,
contextFactory, and clock resources.
The control option metadata includes section, importance, editor, syntax, and related-resource hints so hosts can build more useful inspectors without hard-coding control-specific UI rules. All option and resource metadata is descriptive only, so hosts still own keyed service registration, selection, lifetime, rendering, validation UI, and disposal.
| Product | Versions 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. net9.0 was computed. 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 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. |
-
net10.0
- FluxFlow.Components.Control (>= 3.0.1)
- FluxFlow.Components.Designer (>= 2.17.0)
- FluxFlow.Composition (>= 1.1.0)
- FluxFlow.Mapping (>= 1.0.2)
-
net8.0
- FluxFlow.Components.Control (>= 3.0.1)
- FluxFlow.Components.Designer (>= 2.17.0)
- FluxFlow.Composition (>= 1.1.0)
- FluxFlow.Mapping (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Drops the FluxFlow.Composition.Hosting dependency (host-owned keyed resource resolution moved to the FluxFlow.Composition factory context) and adds the shared package icon.