import { createClient, RedisClient } from 'redis'; // eslint-disable-next-line import/prefer-default-export export class Publisher<T> { private client: RedisClient; constructor(redisUrl: string) { this.client = createClient({ url: redisUrl }); } async publish(topic: string, msg: T): Promise<void> { this.client.publish(topic, JSON.stringify(msg)); } }