uc-base-libraries
Version:
Typescript libraries for UC projects
36 lines (35 loc) • 1.22 kB
TypeScript
export declare class EventHandler<T> {
private onTrigger;
constructor();
trigger(data?: T): void;
triggerAsync(data?: T): Promise<void>;
addListener(callback: (data?: T) => void): void;
addAsyncListener(callback: (data?: T) => Promise<void>): void;
onTriggeredAsync(): Promise<T>;
onOccur(): Promise<T>;
}
export declare class DebouncedEventHandler<T> extends EventHandler<T> {
private resetTimeMilliSeconds;
private lastTime;
constructor(resetTimeMilliSeconds?: number);
triggerAsync(data?: T): Promise<void>;
trigger(data?: T): void;
}
export declare class AfterStableEventHandler<T> extends EventHandler<T> {
private waitTimeMilliSeconds;
constructor(waitTimeMilliSeconds?: number);
private timer;
private lastData;
throttle(): void;
triggerAsync(data?: T): Promise<void>;
trigger(data?: T): void;
}
export declare class OneTimeEventHandler<T> extends EventHandler<T> {
hasTriggered: boolean;
private triggerData;
constructor();
triggerAsync(data?: T): Promise<void>;
trigger(data?: T): void;
addAsyncListener(callback: (data?: T) => Promise<void>): void;
addListener(callback: (data?: T) => any): void;
}