UNPKG

@allthings/cloud-toolkit

Version:

Standardizes the setup of aws, datadog and other things

21 lines (20 loc) 1.09 kB
import { DeleteMessageCommandInput, MessageAttributeValue, ReceiveMessageCommandOutput, SQSClientConfig } from '@aws-sdk/client-sqs'; import { Logger } from 'winston'; export interface ISQS { clientConfig?: SQSClientConfig; logger?: Logger; } export type TGetQueueUrl = (queueName: string) => Promise<string | undefined>; export type TSendMessage = (queueUrl: string, message: string, fifoSettings?: { MessageDeduplicationId?: string; MessageGroupId: string; }, messageAttributes?: Record<string, MessageAttributeValue>, messageDelay?: number) => Promise<string | undefined>; export type TGetQueueItems = (queueUrl: string, maxNumberOfMessages?: number) => Promise<ReceiveMessageCommandOutput | undefined>; export type TDeleteQueueItem = (queueUrl: string, receiptHandle: DeleteMessageCommandInput['ReceiptHandle']) => Promise<ReceiveMessageCommandOutput | undefined>; declare const sqs: (userConfig: ISQS) => { deleteQueueItem: TDeleteQueueItem; getQueueItems: TGetQueueItems; getQueueUrl: TGetQueueUrl; sendMessage: TSendMessage; }; export default sqs;