UNPKG

weak-event

Version:

C#-Style Typescript Events/Weak Events

20 lines (19 loc) 900 B
import { EventInvocationOpts, IEventSource, TypedEventHandler } from '../typed-event-interfaces'; /** * A basic, typed event * * @export * @class TypedEvent * @implements {IEventSource<TSender, TArgs>} * @param {TSender} sender The event's source (usually the particular instance raising the event) * as should be provided to the event handlers * @param {TArgs} args The arguments to provide to the handlers */ export declare class TypedEvent<TSender, TArgs> implements IEventSource<TSender, TArgs> { protected _handlers: TypedEventHandler<TSender, TArgs>[]; attach(handler: TypedEventHandler<TSender, TArgs>): void; detach(handler: TypedEventHandler<TSender, TArgs>): void; invoke(sender: TSender, args: TArgs, options?: EventInvocationOpts): void; invokeAsync(sender: TSender, args: TArgs, options?: EventInvocationOpts): Promise<void>; private tryRemoveHandler; }