Class Debouncer<T, U, V>

Wraps and debounces a function that can be called multiple times and only executes the underlying function one interval after the last invocation.

Typeparam

T - The resolved type of the underlying function. Defaults to any.

Typeparam

U - The rejected type of the underlying function. Defaults to any.

Typeparam

V - Arguments for the underlying function. Defaults to any[].

Type Parameters

  • T = any

  • U = any

  • V extends any[] = any[]

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

  • Instantiate a rate limiter.

    Type Parameters

    • T = any

    • U = any

    • V extends any[] = any[]

    Parameters

    • fn: ((...args: V) => T | Promise<T>)

      The function to rate limit.

        • (...args: V): T | Promise<T>
        • Parameters

          • Rest ...args: V

          Returns T | Promise<T>

    • limit: number = 500

      The rate limit; defaults to 500ms.

    Returns Debouncer<T, U, V>

Properties

args: undefined | V = undefined

Arguments for the underlying function.

limit: number

The rate limit in milliseconds.

payload: null | PromiseDelegate<T> = null

A promise that resolves on each successful invocation.

poll: Poll<T, U, "invoked">

The underlying poll instance used by the rate limiter.

Accessors

Methods

Generated using TypeDoc