callbag-debounce
TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

Callbag debounce

Debounce operator for Callbag

Install

npm i callbag-debounce

Example

Debounces the scroll event and runs the expensiveFunction only when there is a 60ms pause.

const { fromEvent, forEach, pipe } = require("callbag-basics");
import { debounce } from "callbag-debounce";

pipe(
  fromEvent(document, "scroll"),
  debounce(60),
  forEach(expensiveFunction)
);

Changelog

4.0.0 (21/06/2021)

BREAKING CHANGE:

  • Last value is flushed even if the stream is receiving a terminate signal before the value has been debounced (fixes #12)

Before

pipe(
  of(42),
  debounce(1000),
  subscribe(console.log)
)
// Terminate without logging anything

After

pipe(
  of(42),
  debounce(1000),
  subscribe(console.log)
)
// log: 42
// Then terminate

3.0.0 (05/03/2021)

BREAKING CHANGE:

  • Timer is cleared when stream is terminated by sink (see #13)

v2.1.0 (05/03/2018)

  • error (t === 2 && d !== undefined) signals are sent right away (previously they were delayed according to the wait parameter);
  • complete (t === 2 && d === undefined) signals are sent when the last value is debounced (previously they were debounced according to the wait parameter).

v2.0.0 (01/03/2018)

codebase migrated to TypeScript. The module needs to be imported via a named import

import { debounce } from "callbag-debounce";

previously

import debounce from "callbag-debounce";

/callbag-debounce/

    Package Sidebar

    Install

    npm i callbag-debounce

    Weekly Downloads

    1,932

    Version

    4.0.0

    License

    none

    Unpacked Size

    11.1 kB

    Total Files

    9

    Last publish

    Collaborators

    • atomrc