JSPM

  • Created
  • Published
  • Downloads 84
  • Score
    100M100P100Q33815F
  • License MIT

Package Exports

  • @reactive-js/core/lib/disposable
  • @reactive-js/core/lib/disposable.mjs
  • @reactive-js/core/lib/functions
  • @reactive-js/core/lib/functions.mjs
  • @reactive-js/core/lib/internal/parserCombinators
  • @reactive-js/core/lib/internal/parserCombinators.mjs
  • @reactive-js/core/lib/io
  • @reactive-js/core/lib/io.mjs
  • @reactive-js/core/lib/node
  • @reactive-js/core/lib/node.mjs
  • @reactive-js/core/lib/observable
  • @reactive-js/core/lib/observable.mjs
  • @reactive-js/core/lib/option
  • @reactive-js/core/lib/option.mjs
  • @reactive-js/core/lib/readonlyArray
  • @reactive-js/core/lib/readonlyArray.mjs
  • @reactive-js/core/lib/scheduler
  • @reactive-js/core/lib/scheduler.mjs
  • @reactive-js/core/lib/streamable
  • @reactive-js/core/lib/streamable.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@reactive-js/core) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Reactive JS:

Fast modern reactive Javascript programming library.

NPM Version License Coverage Status Build Status

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 { 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),
);