UNPKG

weak-event

Version:

C#-Style Typescript Events/Weak Events

16 lines (15 loc) 873 B
import { ITypedEvent, TypedEventHandler } from '../typed-event-interfaces'; export declare type FinalizableEventHandlerRef<TSender, TArgs> = { eventSource: ITypedEvent<TSender, TArgs>; handlerRef: WeakRef<TypedEventHandler<TSender, TArgs>>; }; declare type Finalizer<TSender, TArgs> = (heldValue: FinalizableEventHandlerRef<TSender, TArgs>) => void; export declare class WeakHandlerHolder<TSender, TArgs> { private _finalizationRegistry; private _refs; constructor(finalizer: Finalizer<TSender, TArgs>); getWeakHandler(eventSource: ITypedEvent<TSender, TArgs>, handler: TypedEventHandler<TSender, TArgs>): WeakRef<TypedEventHandler<TSender, TArgs>>; releaseWeakHandler(handler: TypedEventHandler<TSender, TArgs>): WeakRef<TypedEventHandler<TSender, TArgs>>; unregisterRef(ref: WeakRef<TypedEventHandler<TSender, TArgs>>): void; } export {};