UNPKG

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