@akala/core
Version:
34 lines (33 loc) • 914 B
TypeScript
import type { ReversibleFormatter } from "./common.js";
/**
* Class representing a Debounce.
* @template T
* @implements {ReversibleFormatter<T, Promise<T>>}
* @implements {Disposable}
*/
export declare class Debounce<T> implements ReversibleFormatter<T, Promise<T>>, Disposable {
private delay;
/**
* Create a Debounce.
* @param {number} delay - The delay in milliseconds.
*/
constructor(delay: number);
/**
* Dispose of the Debounce.
*/
[Symbol.dispose](): void;
private timeout;
private event;
/**
* Unformat a value.
* @param {T} value - The value to unformat.
* @returns {Promise<T>} A promise that resolves to the unformatted value.
*/
unformat(value: T): Promise<T>;
/**
* Format a value.
* @param {T} value - The value to format.
* @returns {T} The formatted value.
*/
format(value: T): T;
}