UNPKG

typescript-dotnet-events

Version:

Basic events/dispatching library. Part of the TypeScript.NET-Core libraries.

35 lines (34 loc) 1.46 kB
/*! * @author electricessence / https://github.com/electricessence/ * Licensing: MIT https://github.com/electricessence/TypeScript.NET-Core/blob/master/LICENSE.md */ import DisposableBase from "typescript-dotnet-core/Disposable/DisposableBase"; import IEventListener from "./IEventListener"; import EventDispatcherEntry from "./EventDispatcherEntry"; import IEventDispatcher from "./IEventDispatcher"; export interface IEventBase<TTarget> { type: string; target: TTarget; } export interface IEvent extends IEventBase<any> { } export interface IEntryParams { priority: number; dispatcher: EventDispatcherBase; } export default class EventDispatcherBase extends DisposableBase implements IEventDispatcher { constructor(); protected _entries: EventDispatcherEntry<IEntryParams>[] | undefined; addEventListener(type: string, listener: IEventListener, priority?: number): void; removeEntry(entry: EventDispatcherEntry<IEntryParams>): boolean; registerEventListener(type: string, listener: IEventListener, priority?: number): void; hasEventListener(type: string, listener?: IEventListener): boolean; removeEventListener(type: string, listener: IEventListener): void; dispatchEvent(type: string, params?: any): boolean; dispatchEvent(event: IEvent): boolean; static get DISPOSING(): string; static get DISPOSED(): string; private _isDisposing; get isDisposing(): boolean; dispose(): void; }