weak-event
Version:
C#-Style Typescript Events/Weak Events
20 lines (19 loc) • 900 B
TypeScript
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;
}