@drozdik.m/event
Version:
Object for handling events.
31 lines (30 loc) • 1.08 kB
TypeScript
import { IClearable } from "@drozdik.m/common-interfaces/IClearable";
import { IClonable } from "@drozdik.m/common-interfaces/IClonable";
import { IDisposable } from "@drozdik.m/common-interfaces/IDisposable";
import { ICountable } from "@drozdik.m/common-interfaces/ICountable";
import { IEvent } from "@drozdik.m/common-interfaces/IEvent";
export declare class Event<C, A> implements IClearable, IClonable<Event<C, A>>, IDisposable, ICountable {
private callbacks;
constructor();
/**
* Adds function to be called on event trigger
* @param item Function to add
*/
Add(item: IEvent<C, A>): void;
/**
* Removes functions to be triggered (only first occurence)
* @param item Function to remove
*/
Remove(item: IEvent<C, A>): void;
/**
* Calls all added functions
* @param caller Caller object
* @param args Arguments
*/
Invoke(caller: C, args: A): void;
Clone(): Event<C, A>;
Count(): number;
IsEmpty(): boolean;
Dispose(): void;
Clear(): void;
}