UNPKG

alepha

Version:

Easy-to-use modern TypeScript framework for building many kind of applications.

20 lines (15 loc) 573 B
import { $logger } from "alepha/logger"; import type { QueueProvider } from "./QueueProvider.ts"; export class MemoryQueueProvider implements QueueProvider { protected readonly log = $logger(); protected queueList: Record<string, string[]> = {}; public async push(queue: string, ...messages: string[]): Promise<void> { if (this.queueList[queue] == null) { this.queueList[queue] = []; } this.queueList[queue].push(...messages); } public async pop(queue: string): Promise<string | undefined> { return this.queueList[queue]?.shift(); } }