firestore-queue
Version:
A powerful, scalable queue system built on Google Firestore with time-based indexing, auto-configuration, and connection reuse
63 lines • 1.6 kB
TypeScript
import { WriterInterface, WriterConfig, WriteResult, BulkWriteResult, WriterMetrics } from './types';
import { QueueMessageInput } from '../types';
/**
* Direct Firestore writer for Fire Queue
* Allows writing directly to the queue collection from any application
*/
export declare class FirestoreWriter implements WriterInterface {
private db;
private config;
private metrics;
private batchBuffer;
private batchTimer?;
constructor(config: WriterConfig);
/**
* Initialize Firestore connection
*/
private initializeFirestore;
/**
* Write a single message to the queue
*/
write(message: QueueMessageInput): Promise<WriteResult>;
/**
* Write multiple messages as a batch
*/
writeBatch(messages: QueueMessageInput[]): Promise<BulkWriteResult>;
/**
* Add message to batch buffer
*/
private addToBatch;
/**
* Flush batch buffer
*/
private flushBatch;
/**
* Write message immediately
*/
private writeImmediate;
/**
* Validate message against schema and config
*/
private validateMessage;
/**
* Create queue document from message
*/
private createQueueDocument;
/**
* Generate unique message ID
*/
private generateMessageId;
/**
* Update internal metrics
*/
private updateMetrics;
/**
* Get current metrics
*/
getMetrics(): WriterMetrics;
/**
* Close the writer and flush any pending batches
*/
close(): Promise<void>;
}
//# sourceMappingURL=FirestoreWriter.d.ts.map