FluxFlow.Components.State
1.1.0
dotnet add package FluxFlow.Components.State --version 1.1.0
NuGet\Install-Package FluxFlow.Components.State -Version 1.1.0
<PackageReference Include="FluxFlow.Components.State" Version="1.1.0" />
<PackageVersion Include="FluxFlow.Components.State" Version="1.1.0" />
<PackageReference Include="FluxFlow.Components.State" />
paket add FluxFlow.Components.State --version 1.1.0
#r "nuget: FluxFlow.Components.State, 1.1.0"
#:package FluxFlow.Components.State@1.1.0
#addin nuget:?package=FluxFlow.Components.State&version=1.1.0
#tool nuget:?package=FluxFlow.Components.State&version=1.1.0
FluxFlow.Components.State
Reusable state components for FluxFlow.
Nodes
| Node type | Shape | Purpose |
|---|---|---|
state.reducer |
Input → Output, Errors |
Keeps per-key state and updates it with a reducer expression. |
Reducer
{
"type": "state.reducer",
"name": "topicState",
"keyExpression": "topic",
"initialState": { "count": 0 },
"reducer": "update-topic-state",
"engine": "sample",
"boundedCapacity": 128,
"maxKeys": 1024
}
state.reducer consumes StateReducerInput and emits
StateReducerResult. The reducer expression receives variables for key,
input, value, state, previousState, initialState, version,
operation, and any per-message Variables.
If keyExpression is set, it resolves the state key from the same expression
context. Otherwise the node uses StateReducerInput.Key.
Operations
StateReducerInput.Operation defaults to Reduce.
Reduce: evaluate the reducer and store the new state.Reset: store the requestInitialStateor nodeinitialState.Clear: remove the state for the key and emit a result withNewStatenull.
Reducer failures are emitted through Errors and later messages continue.
State updates are serial, so each key observes deterministic ordered changes.
Registration
registry.RegisterStateComponents(options =>
options
.UseExpressionEngine(myExpressionEngine)
.UseClock(stateClock));
UseClock(...) is optional. Without it, state.reducer uses the default
system clock. Supplying a clock lets hosts and tests make StateReducerResult
timestamps deterministic.
Design Metadata
This package exposes a package-owned IComponentDesignMetadataProvider for its
node types. Hosts can compose it through ComponentDesignMetadataCatalog to
populate palettes, editors, validation views, and documentation without
duplicating package descriptors.
Composition Guidance
Use this package as one part of a host-composed graph. See Component Composition for recommended host boundaries, package boundaries, and extraction timing.
| 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.Designer (>= 1.0.1)
- FluxFlow.Components.Expressions (>= 1.0.0)
- FluxFlow.Engine (>= 1.0.1)
-
net8.0
- FluxFlow.Components.Designer (>= 1.0.1)
- FluxFlow.Components.Expressions (>= 1.0.0)
- FluxFlow.Engine (>= 1.0.1)
- System.Threading.Tasks.Dataflow (>= 9.0.4)
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.1.0 | 44 | 6/5/2026 |
| 1.0.0 | 45 | 6/4/2026 |
| 0.3.0-alpha.1 | 94 | 6/2/2026 |
| 0.2.0-alpha.1 | 42 | 6/2/2026 |
| 0.1.1-alpha.1 | 41 | 6/2/2026 |
| 0.1.0-alpha.1 | 82 | 6/1/2026 |
Adds package-owned IComponentDesignMetadataProvider metadata for host palettes, editors, validation views, generated docs, and catalog composition while keeping runtime behavior unchanged.