theatre-events
Version:
A full implementation of a standard event dispatcher for javascript
25 lines (24 loc) • 677 B
TypeScript
import EventListener from './event-listener';
/**
* Broadcast payload without any target. It means that triggered event are globaly
* broadcasted inside an application with no specified target.
*/
interface EventBroadcaster {
/**
* Broadcast synchronously or not a given payload
*/
broadcast<T>(payload?: T): T | Promise<T>;
/**
* Attach an event listener to the broadcaster
*/
subscribe(listener: EventListener): void;
/**
* Remove an event listener from the broadcaster
*/
remove(listener: EventListener): void;
/**
* Clear the entire broadcaster
*/
clear(): void;
}
export default EventBroadcaster;