@rewaa/event-broker
Version:
A broker for all the events that Rewaa will ever produce or consume
17 lines (16 loc) • 1.05 kB
TypeScript
import { SNS, SNSClientConfig, PublishResponse, PublishInput, SubscribeResponse, PublishBatchResponse, PublishBatchInput } from "@aws-sdk/client-sns";
import { ISNSMessage, Logger } from "../types";
export declare class SNSProducer {
private readonly logger;
private readonly sns;
constructor(logger: Logger, config: SNSClientConfig);
get client(): SNS;
send: (topicArn: string, message: ISNSMessage) => Promise<PublishResponse>;
getPublishInput(topicArn: string, message: ISNSMessage): PublishInput;
private getMessageAttributesForPublish;
sendBatch: (topicArn: string, messages: ISNSMessage[]) => Promise<PublishBatchResponse>;
getBatchPublishInput(topicArn: string, messages: ISNSMessage[]): PublishBatchInput;
createTopic: (topicName: string, attributes: Record<string, string>) => Promise<string | undefined>;
subscribeToTopic: (topicArn: string, queueArn: string, filterPolicy?: object, deliverRawMessage?: boolean) => Promise<SubscribeResponse>;
isFifoTopic: (topicArn: string) => boolean;
}