message-subscriber
Version:
Subscribe to messages at any Cloud Service. Receive messages only by registering a EventEmitter Listener. (AWS SQS, Azure ESQ, Google Tasks)
20 lines (18 loc) • 571 B
text/typescript
export interface Message {
id: string
receipt?: string
payload: any
attributes?: any
receivedTimestamp: number
delete: () => Promise<void>
delay: (seconds: number) => Promise<void>
}
export type MessageAdapterParams = {
maxNumberOfMessages: number
};
export abstract class MessageAdapter {
public abstract maxNumberOfMessages: number;
public abstract receive(maxMessages?: number): Promise<Message[]>;
public abstract delete(id: string): Promise<void>;
public abstract delay(id: string, seconds: number): Promise<void>;
}