syncguard
Version:
Functional TypeScript library for distributed locking across microservices. Prevents race conditions with Redis, PostgreSQL, Firestore, and custom backends. Features automatic lock management, timeout handling, and extensible architecture.
21 lines (20 loc) • 907 B
TypeScript
import type { FirestoreBackendOptions, FirestoreConfig } from "./types.js";
/**
* Default configuration for Firestore backend.
* @see docs/specs/firestore-backend.md
*/
export declare const FIRESTORE_DEFAULTS: {
/** Collection name for lock documents */
readonly collection: "locks";
/** Collection name for fencing token counters */
readonly fenceCollection: "fence_counters";
/** Cleanup expired locks in isLocked() - disabled for O(1) performance */
readonly cleanupInIsLocked: false;
};
/**
* Merges user options with defaults and validates configuration.
* @param options - User-provided Firestore configuration
* @returns Complete Firestore backend configuration
* @throws {LockError} If fenceCollection equals collection (prevents accidental fence counter deletion)
*/
export declare function createFirestoreConfig(options?: FirestoreBackendOptions): FirestoreConfig;