reprehenderitexercitationem
Version:
A typescript class the dispatches events!
25 lines (24 loc) • 925 B
TypeScript
export interface EventCallbackList {
[index: string]: EventCallback[];
}
export declare class EventCallback {
readonly fnc: any;
readonly key: number;
readonly once: boolean;
readonly context: any;
calls: number;
constructor(fnc: any, key: number, once: boolean, context?: any);
call(...args: any[]): boolean;
}
export declare type EventDispatcherCallback = (...args: any[]) => any;
export declare class EventDispatcher {
private _listeners;
private _lastKey;
constructor();
bind(event: string, fct: EventDispatcherCallback, context?: any, once?: boolean): number;
once(event: string, fct: EventDispatcherCallback, context?: any): number;
unbind(event: string, key?: number): boolean;
unbindWithContext(event: string, context: any): number;
getListener(event: string, key: number): EventCallback | undefined;
trigger(event: string, ...args: any[]): void;
}