nest-nsq-transport
Version:
NestJS microservice transport for NSQ
24 lines (23 loc) • 885 B
TypeScript
import { ClientProxy, ReadPacket, WritePacket, OutgoingEvent, Serializer } from '@nestjs/microservices';
import { Writer, ConnectionConfigOptions } from 'nsqjs';
export type Publishable = Parameters<typeof Writer.prototype.publish>[1];
export type NSQClientOpitons = ConnectionConfigOptions & ({
nsqdHost: string;
nsqdPort: number;
} | {
nsqdURL: string;
}) & {
serializer?: Serializer<OutgoingEvent, Publishable>;
};
export declare class NSQClient extends ClientProxy {
private readonly opts;
private readonly writer;
private readonly logger;
private connected?;
constructor(opts: NSQClientOpitons);
connect(): Promise<void>;
close(): Promise<void>;
publish(_packet: ReadPacket<unknown>, _callback: (packet: WritePacket<unknown>) => void): () => void;
dispatchEvent(packet: ReadPacket<unknown>): Promise<any>;
unwrap<T>(): T;
}