UNPKG

@nesvet/n

Version:
26 lines 1.09 kB
import { StatefulPromise } from "./StatefulPromise.js"; type Callback = (...args: any[]) => unknown; type FunctionOrBoolean = (() => unknown) | boolean; type Options = { leading?: FunctionOrBoolean; maxWait?: number; trailing?: FunctionOrBoolean; }; type DebouncedFunction<C extends Callback> = { (this: ThisParameterType<C>, ...args: Parameters<C>): Promise<Awaited<ReturnType<C>>>; }; export type Debounced<C extends Callback, R extends ReturnType<C>> = DebouncedFunction<C> & { callback: C; promise: StatefulPromise<R>; resolve: (value: R) => void; reject: (reason?: unknown) => void; run(): Promise<R>; clear(shouldRun?: boolean): Promise<void>; }; export declare function debounce<C extends Callback, R extends ReturnType<C>>(callback: C, limit?: number, options?: Options): Debounced<C, R>; export declare namespace debounce { var noop: Debounced<() => void, void>; } export declare function throttle(callback: Callback, limit?: number, options?: Options): Debounced<Callback, unknown>; export {}; //# sourceMappingURL=debounce.d.ts.map