UNPKG

@rewaa/event-broker

Version:

A broker for all the events that Rewaa will ever produce or consume

30 lines (29 loc) 1.82 kB
import { SQS, SQSClientConfig, SendMessageResult, SendMessageRequest, SendMessageBatchResult, SendMessageBatchRequest } from "@aws-sdk/client-sqs"; import { ISQSMessage, ISQSMessageOptions, Logger, Topic } from "../types"; export declare class SQSProducer { private readonly logger; private readonly sqs; constructor(logger: Logger, config: SQSClientConfig); get client(): SQS; send: (queueUrl: string, message: ISQSMessage, messageOptions: ISQSMessageOptions) => Promise<SendMessageResult>; getSendMessageRequestInput(queueUrl: string, message: ISQSMessage, messageOptions: ISQSMessageOptions): SendMessageRequest; sendBatch: (queueUrl: string, messages: ISQSMessage[]) => Promise<SendMessageBatchResult>; getBatchMessageRequest(queueUrl: string, messages: ISQSMessage[]): SendMessageBatchRequest; createQueue: (queueName: string, attributes: Record<string, string>, tags?: Record<string, string>) => Promise<string | undefined>; createQueueFromTopic(params: { queueName: string; topic: Topic; isDLQ: boolean; queueArn: string; dlqArn?: string; }): Promise<void>; getQueueAttributes: (queueUrl: string, attributes: string[]) => Promise<Record<string, string> | undefined>; deleteQueue: (queueUrl: string) => Promise<boolean>; deleteMessage: (queueUrl: string, receiptHandle: string) => Promise<boolean>; deleteMessages: (queueUrl: string, receiptHandles: string[]) => Promise<boolean>; getQueueUrl: (queueName: string) => Promise<string | undefined>; setQueueAttributes: (queueUrl: string, attributes: Record<string, string>) => Promise<void>; tagQueue: (queueUrl: string, tags: Record<string, string>) => Promise<void>; isFifoQueue: (queueUrl: string) => boolean; private getMessageAttributes; }