@johngw/stream
Version:
Reactive programming tools using the WHATWG Streams API.
52 lines (51 loc) • 1.48 kB
TypeScript
import { DebounceBehavior } from '#transformers/debounce/Behavior';
import { DebounceTrailingBehavior } from '#transformers/debounce/TrailingBehavior';
export { DebounceBehavior, DebounceTrailingBehavior };
export * from '#transformers/debounce/BackOffBehavior';
export * from '#transformers/debounce/State';
export * from '#transformers/debounce/LeadingBehavior';
/**
* Delays queuing until after `ms` milliseconds have elapsed
* since the last time this transformer received anything.
* The queuing behavior is configurable.
*
* @see {@link DebounceLeadingBehavior:class}
* @see {@link DebounceTrailingBehavior:class}
* @see {@link DebounceBackOffBehavior:class}
* @group Transformers
* @example
* Using the trailing behavior.
* ```
* --a-b-c--------------d-----------
*
* debounce(20)
* // Same as...
* debounce(20, new DebounceTrailingBehavior())
*
* -------------c---------------d---
* ```
*
* @example
* Using the leading behavior.
* ```
* --a-b-c--------------d-----------
*
* debounce(20, new DebounceLeadingBehavior())
*
* ---a------------------d----------
* ```
*
* @example
* Using both leading and trailing behaviors
* ```
* --a-b-c--------------d-----------
*
* debounce(20, [
* new DebounceLeadingBehavior(),
* new DebounceTrailingBehavior()
*])
*
* ---a----------c--------d----------
* ```
*/
export declare function debounce<T>(ms: number, behaviors?: DebounceBehavior<T> | DebounceBehavior<T>[]): TransformStream<T, T>;