duoyun-ui
Version:
A lightweight desktop UI component library, implemented using Gem
26 lines • 1.39 kB
TypeScript
/**Until the callback function resolve */
export declare function forever<T>(fn: () => Promise<T>, interval?: number): Promise<T>;
/**Polling calls until cancel */
export declare function polling(fn: (args?: any[]) => any, delay: number): (haveNext?: boolean) => void;
export declare function sleep(ms?: number): Promise<unknown>;
export declare function nextFrame(): Promise<unknown>;
export declare function throttle<T extends (...args: any) => any>(fn: T, wait?: number, { leading, maxWait }?: {
leading?: boolean;
maxWait?: number;
}): (...rest: Parameters<T>) => void;
export declare function debounce<T extends (...args: any) => any>(fn: T, wait?: number, { leading }?: {
leading?: boolean;
}): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>;
/**Invoke the function by condition */
export declare function invoke<T extends (...args: any) => any>(fn: T, condition: (options: {
count: number;
timestamp: number;
prevTimestamp: number;
invokeCount: number;
invokeTimestamp: number;
}) => boolean): (...rest: Parameters<T>) => ReturnType<T> | undefined;
/**Only invoke first */
export declare function once<T extends (...args: any) => any>(fn: T): T;
/**Ignore the first invoke */
export declare function omitOnce<T extends (...args: any) => any>(fn: T): (...rest: Parameters<T>) => ReturnType<T> | undefined;
//# sourceMappingURL=timer.d.ts.map