MemoizR.Reactive
0.1.5
dotnet add package MemoizR.Reactive --version 0.1.5
NuGet\Install-Package MemoizR.Reactive -Version 0.1.5
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="MemoizR.Reactive" Version="0.1.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MemoizR.Reactive --version 0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MemoizR.Reactive, 0.1.5"
#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 MemoizR.Reactive as a Cake Addin #addin nuget:?package=MemoizR.Reactive&version=0.1.5 // Install MemoizR.Reactive as a Cake Tool #tool nuget:?package=MemoizR.Reactive&version=0.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MemoizR:Reactive: Simplifying Concurret Reactivity in .NET
This package extends the functionality provided by the foundational MemoizR package.
It closely resembles the behavior of signals in solid.js, while also incorporating essential thread-safety features. This implementation draws inspiration from the concepts found in reactively (https://github.com/modderme123/reactively).
Unlike ReactiveX, there's no need to handle subscriptions manually.
Reactivity
You can use MemoizR.Reactive to create reactive data flows easily:
var f = new MemoFactory();
var v1 = f.CreateSignal(1);
var m1 = f.CreateMemoizR(async() => await v1.Get());
var m2 = f.CreateMemoizR(async() => await v1.Get() * 2);
var r1 = f.CreateReaction(m1, m2, (val1, val2) => val1 + val2);
// The following example uses the TaskScheduler.FromCurrentSynchronizationContext method in a Windows Presentation Foundation (WPF) app to schedule
// https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.taskscheduler?view=net-7.0#specifying-a-synchronization-context
var UISyncContext = SynchronizationContext.Current;
var f = new MemoFactory();
f.AddSynchronizationContext(UISyncContext);
var r1 = f.CreateReaction(m1, m2, (val1, val2) => val1 + val2);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- MemoizR (>= 0.1.5)
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 |
---|---|---|
0.1.5 | 71 | 11/17/2024 |
0.1.4 | 100 | 5/25/2024 |
0.1.3 | 112 | 5/7/2024 |
0.1.2 | 100 | 5/6/2024 |
0.1.1 | 86 | 5/1/2024 |
0.1.1-rc.11 | 64 | 4/29/2024 |
0.1.1-rc.10 | 67 | 4/23/2024 |
0.1.1-rc.9 | 56 | 4/18/2024 |
0.1.1-rc.8 | 68 | 4/13/2024 |
0.1.1-rc.7 | 62 | 4/11/2024 |
0.1.1-rc.6 | 55 | 4/10/2024 |
0.1.1-rc.5 | 58 | 4/4/2024 |
0.1.1-rc.4 | 61 | 4/1/2024 |
0.1.1-rc.3 | 61 | 3/24/2024 |
0.1.1-rc.2 | 62 | 2/17/2024 |
0.1.1-rc.1 | 114 | 1/4/2024 |
0.1.0-rc9 | 171 | 11/6/2023 |
0.1.0-rc8 | 141 | 10/26/2023 |
0.1.0-rc7 | 109 | 10/24/2023 |
0.1.0-rc6 | 121 | 10/21/2023 |
0.1.0-rc5 | 98 | 10/19/2023 |
0.1.0-rc4 | 116 | 10/14/2023 |
0.1.0-rc3 | 115 | 10/13/2023 |
0.1.0-rc2 | 118 | 10/11/2023 |
0.1.0-rc10 | 104 | 11/12/2023 |
0.1.0-rc1 | 112 | 10/10/2023 |
0.1.0-rc.11 | 72 | 1/4/2024 |
0.1.0-alpha2 | 134 | 10/6/2023 |
0.1.0-alpha1 | 120 | 10/6/2023 |
0.0.4-rc4 | 125 | 9/24/2023 |
0.0.4-rc3 | 116 | 9/23/2023 |
0.0.4-rc2 | 114 | 9/23/2023 |
0.0.4-rc1 | 105 | 9/22/2023 |
0.0.4-beta1 | 112 | 9/21/2023 |
0.0.4-alpha1 | 112 | 9/19/2023 |