Fast modern reactive Javascript programming library.
ReactiveJS is an isomorphic library which supports all modern ecmascript platforms including Node.js (v16 and up), Deno, and modern browsers.
Reactive JS can be added to your npm based project using the @reactive-js/core packages.
yarn add @reactive-js/core
Both Ecmascript and Typescript modules that may be directly imported into your project are available in the mod directory of this repo. These modules are all Deno compatible. We recommend referencing specifically tagged releases of these files in your projects.
import * as Observable from "@reactive-js/core/concurrent/Observable";
import { incrementBy, pipe, returns } from "@reactive-js/core/functions";
import * as HostScheduler from "@reactive-js/core/concurrent/HostScheduler";
using scheduler = HostScheduler.create();
await pipe(
Observable.generate(incrementBy(1), returns(0), {
delay: 1,
delayStart: true,
}),
Observable.throttle(2000),
Observable.map(x => `${x}`),
Observable.forEach(x => console.log(x)),
Observable.takeUntil(Observable.empty({ delay: 20000 })),
Observable.lastAsync(scheduler),
);