UNPKG

@syntropylog/adapters

Version:
44 lines (39 loc) 1.57 kB
import { Kafka } from 'kafkajs'; import { IBrokerAdapter, BrokerMessage, MessageHandler } from '@syntropylog/types'; declare class KafkaAdapter implements IBrokerAdapter { private readonly producer; private readonly consumer; constructor(kafkaInstance: Kafka, groupId: string); connect(): Promise<void>; disconnect(): Promise<void>; publish(topic: string, message: BrokerMessage): Promise<void>; subscribe(topic: string, handler: MessageHandler): Promise<void>; } declare class RabbitMQAdapter implements IBrokerAdapter { private connection; private channel; private connectionString; private exchangeName; private consumerTags; constructor(connectionString: string, exchangeName?: string); connect(): Promise<void>; disconnect(): Promise<void>; publish(topic: string, message: BrokerMessage): Promise<void>; subscribe(topic: string, handler: MessageHandler): Promise<void>; unsubscribe(topic: string): Promise<void>; } declare class NatsAdapter implements IBrokerAdapter { private readonly natsServers; private natsConnection; private codec; private subscriptions; constructor(natsServers?: string[]); connect(): Promise<void>; disconnect(): Promise<void>; publish(topic: string, message: BrokerMessage): Promise<void>; subscribe(topic: string, handler: MessageHandler): Promise<void>; unsubscribe(topic: string): Promise<void>; private natsHeadersToRecord; private recordToNatsHeaders; } export { KafkaAdapter, NatsAdapter, RabbitMQAdapter };