@logistically/events
Version:
A production-ready event-driven architecture library for NestJS with Redis Streams, comprehensive batching, reliable consumption, and enterprise-grade features.
24 lines (23 loc) • 956 B
TypeScript
import { ClientProxy } from '@nestjs/microservices';
import eventRoutingConfig from '../event-routing';
import { EventValidator } from '../event-types';
export interface EventPublisherOptions {
originServiceName: string;
validator: EventValidator;
eventNamespace?: string;
}
export declare class EventPublisher {
private transports;
private options;
private routingConfig;
private validator;
private eventNamespace;
constructor(transports: Record<string, ClientProxy>, options: EventPublisherOptions, routingConfig?: typeof eventRoutingConfig);
private getRouteForEvent;
private getTransportForEvent;
publish<T>(eventType: string, body: T): Promise<void>;
publishWithValidator<T>(eventType: string, body: T, validator: EventValidator): Promise<void>;
registerSchema(eventType: string, schema: any): void;
close(): Promise<void>;
}
export { MessagePattern, Payload } from '@nestjs/microservices';