UNPKG

@juntoz/azure-service-bus-sender

Version:

Quick logger that enables the function to log to the default logger (console) and also to papertrail

43 lines (42 loc) 1.99 kB
import { ServiceBusClient, TopicClient, SubscriptionClient, QueueClient, Sender, Receiver, SendableMessageInfo } from "@azure/service-bus"; export interface ArrayOf<T> { [name: string]: T; } export interface ServiceBusClientExt extends ServiceBusClient { topicClients: TopicClientExt[]; subscriptionClients: SubscriptionClientExt[]; queueClients: QueueClientExt[]; } export interface TopicClientExt extends TopicClient { sender: Sender; } export interface QueueClientExt extends QueueClient { sender: Sender; } export interface SubscriptionClientExt extends SubscriptionClient { receiver: Receiver; } export interface AzureServiceBusSenderInt { maxBatch(): number; sendToTopic(topicName: string, message: SendableMessageInfo): Promise<void>; sendBatchToTopic(topicName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>; sendToQueue(queueName: string, message: SendableMessageInfo): Promise<void>; sendBatchToQueue(queueName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>; } export declare class AzureServiceBusSender implements AzureServiceBusSenderInt { private senderName; private connectionString; private busClient; constructor(senderName: string, connectionString: string); maxBatch(): number; private ensureClient; private ensureTopicSender; private injectMessage; sendToTopic(topicName: string, message: SendableMessageInfo): Promise<void>; sendBatchToTopic(topicName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>; createSubscriptionReceiver(topicName: string, subscriptionName: string): Receiver; private ensureQueueSender; sendToQueue(queueName: string, message: SendableMessageInfo): Promise<void>; sendBatchToQueue(queueName: string, messages: SendableMessageInfo[], moreProperties?: any): Promise<void>; cleanup(): Promise<void>; }