Runic.Application.ReactiveUI.Reactive 0.7.0-preview.6

Suggested Alternatives

Runic.Application.Views.ReactiveUI.Reactive

Additional Details

Renamed to Runic.Application.Views.ReactiveUI.Reactive in 0.7.0-preview.7. Namespaces are unchanged; replace the package reference.

This is a prerelease version of Runic.Application.ReactiveUI.Reactive.
dotnet add package Runic.Application.ReactiveUI.Reactive --version 0.7.0-preview.6
                    
NuGet\Install-Package Runic.Application.ReactiveUI.Reactive -Version 0.7.0-preview.6
                    
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="Runic.Application.ReactiveUI.Reactive" Version="0.7.0-preview.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Runic.Application.ReactiveUI.Reactive" Version="0.7.0-preview.6" />
                    
Directory.Packages.props
<PackageReference Include="Runic.Application.ReactiveUI.Reactive" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Runic.Application.ReactiveUI.Reactive --version 0.7.0-preview.6
                    
#r "nuget: Runic.Application.ReactiveUI.Reactive, 0.7.0-preview.6"
                    
#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.
#:package Runic.Application.ReactiveUI.Reactive@0.7.0-preview.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Runic.Application.ReactiveUI.Reactive&version=0.7.0-preview.6&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Runic.Application.ReactiveUI.Reactive&version=0.7.0-preview.6&prerelease
                    
Install as a Cake Tool

System.Reactive ReactiveUI integration for Runic Views

Runic.Application.ReactiveUI.Reactive is the optional Runic adapter for ReactiveUI 26's System.Reactive-compatible distribution. It provides the same Runic View and Window mount lifecycle, typed view location and routing projection as Runic.Application.ReactiveUI, while using types from ReactiveUI.Reactive, ReactiveUI.Binding.Reactive, System.Reactive.Unit, and System.Reactive.Concurrency.IScheduler.

Choose this package only when the application's ReactiveUI-facing APIs need System.Reactive's scheduler and unit types:

<PackageReference Include="ReactiveUI.Reactive" />
<PackageReference Include="Runic.Application.ReactiveUI.Reactive" />

Use the default ReactiveUI and Runic.Application.ReactiveUI pair for the Primitives flavor. Do not reference both Runic adapters in one application. The System.Reactive distribution has distinct ReactiveUI namespaces and type identities, so ViewModels and generated clients must be built for the selected pair. The package includes a build-time guard for a direct reference to both Runic adapters.

RunicReactiveSchedulerProvider adapts a supplied IRunicModelContext (namespace Runic.Navigation) to an IScheduler. It and AddRunicReactiveModelContext() are in the Runic.Navigation.ReactiveUI.Reactive namespace of Runic.Navigation.ReactiveUI.Reactive, which this package references (add using Runic.Navigation.ReactiveUI.Reactive;). Pass the scheduler to ReactiveUI.Reactive command factories as their outputScheduler when command state must be delivered in that model context:

var scheduler = new RunicReactiveSchedulerProvider().For(context);
SaveCommand = ReactiveCommand.Create(Save, outputScheduler: scheduler);

It keeps scheduled notifications in that model context and does not set a process-global ReactiveUI scheduler. Generated command and interaction contracts use this flavor's adapters, with the same typed data, operation results, cancellation, and browser interaction support as the default flavor.

The package targets ReactiveUI.Reactive 26.0.1 with ReactiveUI.Binding.Reactive pinned to 9.1.0. It brings ReactiveUI.Primitives.Reactive 9.0.0 and System.Reactive 7.0.0 transitively. ReactiveUI 26 keeps the 25 public API; see the default adapter notes for the Primitives 9 SubscribeSafe change. It also brings the shared ReactiveUI.SourceGenerators 4.2.0 package; use the normal ReactiveUI.SourceGenerators attributes with ReactiveUI.Reactive.ReactiveObject. There is no separate Reactive-flavor source-generator package.

The navigation adapter (WhenCurrentChanged, WhenEntryChanged and CreateBackCommand(IScheduler)) is also in Runic.Navigation.ReactiveUI.Reactive, with System.Reactive.Unit as the back command's input. BatchBridgeSnapshots(model) and ObserveBridgeExceptions are also available in this adapter's namespace; this flavor's commands implement the same IHandleObservableErrors. See Declared failures and ThrownExceptions. Place it after ObserveOn(modelScheduler) and before collection binding; see the DynamicData guide.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.