UNPKG

884 BTypeScriptView Raw
1import { Stream } from '../index';
2/**
3 * Delays events until a certain amount of silence has passed. If that timespan
4 * of silence is not met the event is dropped.
5 *
6 * Marble diagram:
7 *
8 * ```text
9 * --1----2--3--4----5|
10 * debounce(60)
11 * -----1----------4--|
12 * ```
13 *
14 * Example:
15 *
16 * ```js
17 * import fromDiagram from 'xstream/extra/fromDiagram'
18 * import debounce from 'xstream/extra/debounce'
19 *
20 * const stream = fromDiagram('--1----2--3--4----5|')
21 * .compose(debounce(60))
22 *
23 * stream.addListener({
24 * next: i => console.log(i),
25 * error: err => console.error(err),
26 * complete: () => console.log('completed')
27 * })
28 * ```
29 *
30 * ```text
31 * > 1
32 * > 4
33 * > completed
34 * ```
35 *
36 * @param {number} period The amount of silence required in milliseconds.
37 * @return {Stream}
38 */
39export default function debounce<T>(period: number): (ins: Stream<T>) => Stream<T>;