Skip to content

About

Async Reactive (Rx) for F# and Fable

Topics

Resources

Stars

42 stars

Watchers

3 watching

Forks

Repository files navigation

Fable.Reactive

Build and Test Nuget

Fable.Reactive is a lightweight Async Reactive library for F#.

Fable.Reactive is a library for asynchronous reactive programming, and is the implementation of Async Observables (ReactiveX) for F#. Fable.Reactive makes it easy to compose and combine streams of asynchronous event-based data such as timers, mouse-moves, keyboard input, web requests and enables you to do operations such as:

  • Filtering
  • Transforming
  • Aggregating
  • Combining
  • Time-shifting

Fable.Reactive is cross-platform via Fable and is known to work on .NET, JavaScript, Python and BEAM. The same F# code may be used both client and server side for full stack software development.

This package was previously named (or known as) FSharp.Control.AsyncRx.

Upgrading from FSharp.Control.AsyncRx

The namespace has changed from FSharp.Control to Fable.Reactive. Update your open statements:

- open FSharp.Control
+ open Fable.Reactive

All sub-namespaces and modules have been renamed accordingly:

Old New
FSharp.Control Fable.Reactive
FSharp.Control.Core Fable.Reactive.Core
AsyncRx module Reactive module
IAsyncRxDisposable IReactiveDisposable

Documentation

Documentation is currently being updated.

See Interoperability with .NET Reactive Extensions for existing observable, observer, and subscription adapters and their asynchronous execution boundaries.

takeUntil ordering

Reactive.takeUntil notifier source stops forwarding source values when it observes a notifier value. The two subscriptions deliver independently, so source values still in flight may be dropped when the notifier stops the stream. Posting source values before a notifier value, even with sequential do! sourceObserver.OnNextAsync ... calls, does not guarantee that downstream has received them. When that ordering matters, arrange downstream acknowledgement before triggering the notifier.

Install

When compiling for JavaScript, Python, or BEAM, use Fable 5.22.0 or newer. This compiler requirement does not apply to .NET-only applications.

dotnet paket add Fable.Reactive --project <project>

About

Async Reactive (Rx) for F# and Fable

Topics

Resources

Stars

42 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages