ts-lib-extended
Version:
Additional types and tools for typescript
27 lines (26 loc) • 756 B
TypeScript
import type { EventArgs } from './args/index.js';
/**
* Event subscriber
*
* @export
* @template TSender
* @template {EventArgs | void} [TArgs=void]
* @since 1.0.0
*/
export type EventSubscription<TSender, TArgs extends EventArgs | void = void> = (identifier_: string, callback_: EventCallback<TSender, TArgs>) => boolean;
/**
* Event unsubscriber
*
* @export
* @since 1.0.0
*/
export type EventUnsubscription = (identifier_: string) => boolean;
/**
* Event subscription callback that is triggered when event is invoked
*
* @export
* @template TSender
* @template {EventArgs | void} [TArgs=void]
* @since 1.0.0
*/
export type EventCallback<TSender, TArgs extends EventArgs | void = void> = (sender_: TSender, eventArgs_: TArgs) => void;