firestore-queue
Version:
A powerful, scalable queue system built on Google Firestore with time-based indexing, auto-configuration, and connection reuse
54 lines • 5.26 kB
JavaScript
;
/**
* Fire Queue - A powerful, scalable queue system built on Google Firestore
*
* Key Features:
* - Time-based indexing for optimal performance
* - Updatable messages while in queue
* - Consumer progress tracking with timestamp-based resume
* - TTL support with automatic cleanup
* - Batch processing capabilities
* - Built-in monitoring and metrics
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.BulkWriter = exports.CloudFunctionWriter = exports.HTTPQueueServer = exports.HTTPWriter = exports.FirestoreWriter = exports.loadServiceAccount = exports.findServiceAccountFile = exports.autoLoadFirebaseConfig = exports.extractProjectIdFromServiceAccount = exports.setupFireQueue = exports.FireQueueManager = exports.createQueueWithConsumer = exports.createReadyQueue = exports.quickStart = exports.createSimpleQueue = exports.createMonitoring = exports.QueueManager = exports.createQuickQueue = exports.createQueueFromConfig = exports.createQueue = exports.ConsumerStateSchema = exports.QueueDocumentSchema = exports.QueueMessageSchema = exports.QueueConfigSchema = exports.FireQueue = void 0;
var FireQueue_1 = require("./core/FireQueue");
Object.defineProperty(exports, "FireQueue", { enumerable: true, get: function () { return FireQueue_1.FireQueue; } });
var types_1 = require("./types");
// Zod schemas for validation
Object.defineProperty(exports, "QueueConfigSchema", { enumerable: true, get: function () { return types_1.QueueConfigSchema; } });
Object.defineProperty(exports, "QueueMessageSchema", { enumerable: true, get: function () { return types_1.QueueMessageSchema; } });
Object.defineProperty(exports, "QueueDocumentSchema", { enumerable: true, get: function () { return types_1.QueueDocumentSchema; } });
Object.defineProperty(exports, "ConsumerStateSchema", { enumerable: true, get: function () { return types_1.ConsumerStateSchema; } });
var factory_1 = require("./utils/factory");
Object.defineProperty(exports, "createQueue", { enumerable: true, get: function () { return factory_1.createQueue; } });
Object.defineProperty(exports, "createQueueFromConfig", { enumerable: true, get: function () { return factory_1.createQueueFromConfig; } });
Object.defineProperty(exports, "createQuickQueue", { enumerable: true, get: function () { return factory_1.createQuickQueue; } });
var QueueManager_1 = require("./utils/QueueManager");
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return QueueManager_1.QueueManager; } });
var monitoring_1 = require("./utils/monitoring");
Object.defineProperty(exports, "createMonitoring", { enumerable: true, get: function () { return monitoring_1.createMonitoring; } });
// Simple setup - only requires projectId, serviceAccountPath, and topic
var simple_setup_1 = require("./utils/simple-setup");
Object.defineProperty(exports, "createSimpleQueue", { enumerable: true, get: function () { return simple_setup_1.createSimpleQueue; } });
Object.defineProperty(exports, "quickStart", { enumerable: true, get: function () { return simple_setup_1.quickStart; } });
Object.defineProperty(exports, "createReadyQueue", { enumerable: true, get: function () { return simple_setup_1.createReadyQueue; } });
Object.defineProperty(exports, "createQueueWithConsumer", { enumerable: true, get: function () { return simple_setup_1.createQueueWithConsumer; } });
// Queue manager for reusable configurations and Firestore instances
var queue_manager_1 = require("./utils/queue-manager");
Object.defineProperty(exports, "FireQueueManager", { enumerable: true, get: function () { return queue_manager_1.FireQueueManager; } });
Object.defineProperty(exports, "setupFireQueue", { enumerable: true, get: function () { return queue_manager_1.setupFireQueue; } });
// Service account utilities
var service_account_helper_1 = require("./utils/service-account-helper");
Object.defineProperty(exports, "extractProjectIdFromServiceAccount", { enumerable: true, get: function () { return service_account_helper_1.extractProjectIdFromServiceAccount; } });
Object.defineProperty(exports, "autoLoadFirebaseConfig", { enumerable: true, get: function () { return service_account_helper_1.autoLoadFirebaseConfig; } });
Object.defineProperty(exports, "findServiceAccountFile", { enumerable: true, get: function () { return service_account_helper_1.findServiceAccountFile; } });
Object.defineProperty(exports, "loadServiceAccount", { enumerable: true, get: function () { return service_account_helper_1.loadServiceAccount; } });
// Writers for data entry
var writers_1 = require("./writers");
Object.defineProperty(exports, "FirestoreWriter", { enumerable: true, get: function () { return writers_1.FirestoreWriter; } });
Object.defineProperty(exports, "HTTPWriter", { enumerable: true, get: function () { return writers_1.HTTPWriter; } });
Object.defineProperty(exports, "HTTPQueueServer", { enumerable: true, get: function () { return writers_1.HTTPQueueServer; } });
Object.defineProperty(exports, "CloudFunctionWriter", { enumerable: true, get: function () { return writers_1.CloudFunctionWriter; } });
Object.defineProperty(exports, "BulkWriter", { enumerable: true, get: function () { return writers_1.BulkWriter; } });
//# sourceMappingURL=index.js.map