@keiii/k-stream
TypeScript icon, indicating that this package has built-in type declarations

0.0.43 • Public • Published

Functional reactive stream library for TypeScript

K-Stream is yet another a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code.

npm (scoped) Coverage Status

npm i @keiii/k-stream

Usage

import { ksPeriodic, ksShare, ksFilterMap, ksTake, some, none } from "@keiii/k-stream";

const stream = ksPeriodic(100, ksShare)
  .pipe(ksFilterMap(n => (n % 2 === 0 ? some(n) : none)))
  .pipe(ksTake(10));

stream.subscribe({
  next: console.log,
  complete: () => console.log('complete!'),
});

Create steam from your data source:

const stream = ksShare<MouseEvent>(observer => {
  const handler = (e: MouseEvent) => observer.next(e);
  document.addEventListener('click', handler);
  return { unsubscribe: () => document.removeEventListener('click', handler) };
});

Goals

Package Sidebar

Install

npm i @keiii/k-stream

Weekly Downloads

6

Version

0.0.43

License

MIT

Unpacked Size

124 kB

Total Files

39

Last publish

Collaborators

  • keiii