Reactive JS:
Fast modern reactive Javascript programming library.
Platform Support
ReactiveJS is an isomorphic library which supports all modern ecmascript platforms including Node.js (v16 and up), Deno, and modern browsers.
Installing
NPM JS
Reactive JS can be added to your npm based project using the @reactive-js/core packages.
yarn add @reactive-js/core
ES6 Modules
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.
Example Usage
import * as Observable from "@reactive-js/core/concurrent/Observable";
import * as Enumerable from "@reactive-js/core/collections/Enumerable";
import {
SideEffect,
bindMethod,
incrementBy,
pipe,
returns,
} from "@reactive-js/core/functions";
import * as HostScheduler from "@reactive-js/core/concurrent/HostScheduler";
import { SchedulerLike_schedule } from "@reactive-js/core/concurrent";
import { DisposableLike_dispose } from "@reactive-js/core/utils";
const scheduler = HostScheduler.create();
const subscription = pipe(
Enumerable.generate(incrementBy(1), returns(0)),
Observable.fromEnumerable({ delay: 1, delayStart: true }),
Observable.throttle(2000),
Observable.map(x => `${x}`),
Observable.forEach(x => console.log(x)),
Observable.subscribe(scheduler),
);
scheduler[SchedulerLike_schedule](
bindMethod(subscription, DisposableLike_dispose) as SideEffect,
{ delay: 20000 },
);