UNPKG

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.

12 lines (11 loc) 683 B
import type { CollectionReference, Firestore } from "@google-cloud/firestore"; import { type KeyLookup, type LockInfo, type OwnershipLookup } from "../../common/backend.js"; import type { FirestoreCapabilities, FirestoreConfig } from "../types.js"; /** * Retrieves lock info by key or lockId (diagnostic only, non-atomic). * * @remarks * Non-atomic queries acceptable for diagnostic lookups (ADR-011). Omits `.limit(1)` * to detect duplicate lockIds (ADR-014). */ export declare function createLookupOperation(db: Firestore, locksCollection: CollectionReference, config: FirestoreConfig): (opts: KeyLookup | OwnershipLookup) => Promise<LockInfo<FirestoreCapabilities> | null>;