4.0.0 • Published 4 years ago
callbag-debounce v4.0.0
Callbag debounce
Debounce operator for Callbag
Install
npm i callbag-debounceExample
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 anythingAfter
pipe(
of(42),
debounce(1000),
subscribe(console.log)
)
// log: 42
// Then terminate3.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 thewaitparameter);complete(t === 2 && d === undefined) signals are sent when the last value is debounced (previously they were debounced according to thewaitparameter).
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";