0.0.3 • Published 1 year ago

ows-js v0.0.3

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
1 year ago

Observables with Streams

A library for observables built with streams. This library is inspired by ReactiveX’s operators and implements a subset of them using streams.

npm install --save ows-js

The goal of this library is to implement observables making as much use of the platform as possible and being highly tree-shakeable.

Example

<!DOCTYPE html>

<button id="dec">-</button>

<span id="counter">0</span>

<button id="inc">+</button>

<script type="module">
    import * as ows from "https://cdn.jsdelivr.net/npm/ows-js/dist/ows.js";

  ows.merge(
    ows.fromEvent(
      document.querySelector("#dec")
      "click"
    ).pipeThrough(ows.map(() => -1)),
    ows.fromEvent(
      document.querySelector("#inc")
      "click"
    ).pipeThrough(ows.map(() => 1))
  )
    .pipeThrough(
      ows.scan((v0, v1) => v0 + v1, 0)
    )
    .pipeTo(
      ows.subscribe(
        v => document.querySelector("#counter").textContent = v
      )
    );
</script>

Documentation

Caveats

While most browsers have partial support of streams in stable, this library makes heavy use of TransformStreams.


License Apache 2.0

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago