node-event-test-package
Version:
Event-driven Message Broker
30 lines (29 loc) • 918 B
TypeScript
import * as client from "prom-client";
interface BaseInitOptions {
type: "inMemory" | "socket" | "kafka";
}
interface InMemoryOptions extends BaseInitOptions {
type: "inMemory";
host: string;
port?: number;
protocol: string;
}
interface KafkaOptions extends BaseInitOptions {
type: "kafka";
clientId: string;
brokers: string[];
groupId: string;
}
type InitOptions = InMemoryOptions | KafkaOptions;
type Callback<T = any> = (payload: T) => void;
declare const event: {
init(options: InitOptions): void;
startBacklogMonitoring(intervalMs?: number): void;
stopBacklogMonitoring(): void;
checkBacklog(): Promise<void>;
publish<T = any>(...args: [...string[], T]): Promise<void>;
subscribe<T = any>(type: string, callback: Callback<T>): Promise<() => void>;
restartKafkaConsumer(): Promise<void>;
disconnect(): Promise<void>;
};
export { event, client };