nodejs-event-driven
Version:
NodeJS agnostic event driven with EventEmitter support
11 lines (10 loc) • 594 B
TypeScript
import type { Service } from './util/service.js';
export declare abstract class BaseEventBusService<E extends string = string> implements Service {
abstract send(eventName: E, data?: unknown): void;
abstract on<T>(eventName: E, listener: (data: T) => void): void;
abstract once<T>(eventName: E, listener: (data: T) => void): void;
abstract off<T>(eventName: E, listener: (data: T) => void): void;
sendAndWait<T>(sendEventName: E, successEventName: E, errorEventName: E, data?: unknown): Promise<T>;
abstract start(): Promise<void>;
abstract stop(): Promise<void>;
}