UNPKG

@drozdik.m/event

Version:
31 lines (30 loc) 1.08 kB
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; }