@allgemein/eventbus
Version:
26 lines (25 loc) • 997 B
TypeScript
import { IEventBusAdapter } from './IEventBusAdapter';
import { IReader } from './IReader';
import { IWriter } from './IWriter';
import { EventEmitter } from 'events';
import { IEventBusConfiguration } from '../bus/IEventBusConfiguration';
import { IPseudoObject } from '../bus/IPseudoObject';
export declare abstract class AbstractEventBusAdapter extends EventEmitter implements IEventBusAdapter {
readonly clazz: Function;
readonly name: string;
readonly nodeId: string;
readonly options: IEventBusConfiguration;
protected _subscribed: boolean;
protected reader: IReader;
protected writer: IWriter;
constructor(nodeId: string, name: string, clazz: Function, options: any);
getEmitter(): this;
abstract publish(object: any): Promise<IPseudoObject>;
abstract subscribe(fn: Function): void;
unsubscribe(): void;
isSubscribed(): boolean;
eventID(): string;
shutdown(): Promise<void[]>;
close(): Promise<void[]>;
cleanup(): void;
}