@boringnode/bus
Version:
A simple and lean driver-based service bus implementation
26 lines (22 loc) • 896 B
TypeScript
import { RedisTransportConfig, TransportEncoder, Transport, Serializable, SubscribeHandler } from '../types/main.js';
import 'ioredis';
import 'mqtt';
/**
* @boringnode/bus
*
* @license MIT
* @copyright BoringNode
*/
declare function redis(config: RedisTransportConfig, encoder?: TransportEncoder): () => RedisTransport;
declare class RedisTransport implements Transport {
#private;
constructor(path: string, encoder?: TransportEncoder);
constructor(options: RedisTransportConfig, encoder?: TransportEncoder);
setId(id: string): Transport;
disconnect(): Promise<void>;
publish(channel: string, message: Serializable): Promise<void>;
subscribe<T extends Serializable>(channel: string, handler: SubscribeHandler<T>): Promise<void>;
onReconnect(callback: () => void): void;
unsubscribe(channel: string): Promise<void>;
}
export { RedisTransport, redis };