ts-lib-extended
Version:
Additional types and tools for typescript
43 lines (42 loc) • 1.17 kB
TypeScript
import { DisposableBase } from '../disposable/base.js';
import type { EventArgs } from './args/index.js';
import { Event } from './index.js';
/**
* A handler that provides subscribable, public events.
* The handler is intended for internal (protected, private) use
*
* @export
* @class EventHandler
* @template TSender
* @template {EventArgs | void} [TArgs=void]
* @extends {DisposableBase}
* @since 1.0.0
*/
export declare class EventHandler<TSender, TArgs extends EventArgs | void = void> extends DisposableBase {
private _callbacks;
private _event;
private _detachEvent;
constructor();
/**
* the subscribable event itself
*
* @readonly
* @type {Event<TSender, TArgs>}
* @memberof EventHandler
* @since 1.0.0
*/
get event(): Event<TSender, TArgs>;
/**
* trigger/invoke event
*
* @param {TSender} sender_
* @param {TArgs} eventArgs_
* @memberof EventHandler
* @since 1.0.0
*/
invoke(sender_: TSender, eventArgs_: TArgs): void;
private subscribe;
private unsubscribe;
protected disposingInstance(): void;
protected disposedInstance(): void;
}