DKX.Signals.Blazor.SourceGenerators
1.0.0-rc.20
Prefix Reserved
dotnet add package DKX.Signals.Blazor.SourceGenerators --version 1.0.0-rc.20
NuGet\Install-Package DKX.Signals.Blazor.SourceGenerators -Version 1.0.0-rc.20
<PackageReference Include="DKX.Signals.Blazor.SourceGenerators" Version="1.0.0-rc.20"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="DKX.Signals.Blazor.SourceGenerators" Version="1.0.0-rc.20" />
<PackageReference Include="DKX.Signals.Blazor.SourceGenerators"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add DKX.Signals.Blazor.SourceGenerators --version 1.0.0-rc.20
#r "nuget: DKX.Signals.Blazor.SourceGenerators, 1.0.0-rc.20"
#:package DKX.Signals.Blazor.SourceGenerators@1.0.0-rc.20
#addin nuget:?package=DKX.Signals.Blazor.SourceGenerators&version=1.0.0-rc.20&prerelease
#tool nuget:?package=DKX.Signals.Blazor.SourceGenerators&version=1.0.0-rc.20&prerelease
DKX.Signals 
<a href="https://www.buymeacoffee.com/david_kudera" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-violet.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
Reactive signals for C# inspired by Angular signals and @preact/signals.
Not production ready! This library is in early development and should not be used in production. The API will change without notice. Until there is a stable version 1.0.0 I will not follow semantic versioning.
Packages
- DKX.Signals: Main project
- DKX.Signals.Blazor: Integration with Blazor
- DKX.Signals.Blazor.SourceGenerators: Source generators for Blazor
Example
using static DKX.Signals.Factories;
var a = signal(1);
var b = signal(2);
var result = computed(a, b, static (a, b) => a + b);
using var changed = effect(
result,
static result =>
{
Console.WriteLine($"Result: {result}");
}
);
Primitives
Everything is created through the static DKX.Signals.Factories class, which is meant to be imported with
using static DKX.Signals.Factories;.
| Factory | Returns | Purpose |
|---|---|---|
signal(value, comparer?, debugName?) |
IWritableSignal<T> |
Source of truth you can read and write |
computed(s1, ..., factory, comparer?, debugName?) |
IReadableSignal<T> |
Lazy, memoized value derived from 1-8 signals |
effect(s1, ..., action, debugName?) |
IEffect |
Side effect that re-runs when 1-8 signals change |
resource(s1, ..., loader, defaultValue?, debugName?) |
IResource<T> |
Async value with loading/error state |
linkedSignal(source, computation, comparer?, debugName?) |
IWritableSignal<T> |
Derived value that can also be written to |
batch() |
IBatch |
Groups writes so effects run once |
untracked(signal) / untracked(fn) |
T / void |
Reads without registering a dependency |
Unlike Angular signals, dependencies are declared explicitly - you pass the input signals to the factory instead of relying on dynamic tracking of the reads inside the callback. See Internals for why.
Full documentation is in the DKX.Signals README.
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.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-rc.20 | 103 | 9/4/2026 |
| 1.0.0-rc.19 | 101 | 8/4/2026 |
| 1.0.0-rc.18 | 72 | 8/3/2026 |
| 1.0.0-rc.17 | 79 | 8/3/2026 |
| 1.0.0-rc.16 | 97 | 5/6/2026 |
| 1.0.0-rc.15 | 78 | 4/19/2026 |
| 1.0.0-rc.12 | 73 | 4/19/2026 |
| 1.0.0-rc.11 | 222 | 5/8/2025 |
| 1.0.0-rc.10 | 224 | 5/8/2025 |
| 1.0.0-rc.9 | 214 | 5/7/2025 |
| 1.0.0-rc.8 | 211 | 5/7/2025 |
| 1.0.0-rc.7 | 208 | 5/6/2025 |
| 1.0.0-rc.6 | 223 | 5/4/2025 |
| 1.0.0-rc.5 | 145 | 5/3/2025 |
| 1.0.0-rc.4 | 147 | 5/3/2025 |
| 1.0.0-rc.3 | 130 | 5/3/2025 |
| 1.0.0-rc.2 | 182 | 5/2/2025 |
| 1.0.0-rc.1 | 213 | 5/1/2025 |