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";

Readme

Keywords

Package Sidebar

Install

npm i callbag-debounce

Weekly Downloads

1,008

Version

4.0.0

License

none

Unpacked Size

11.1 kB

Total Files

9

Last publish

Collaborators

  • atomrc