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.
11 lines (10 loc) • 604 B
TypeScript
import type { CollectionReference, Firestore } from "@google-cloud/firestore";
import { type AcquireResult, type KeyOp } from "../../common/backend.js";
import type { FirestoreCapabilities, FirestoreConfig } from "../types.js";
/**
* Creates Firestore acquire operation with transactional fencing.
* @see ../types.ts for document schemas
*/
export declare function createAcquireOperation(db: Firestore, locksCollection: CollectionReference, fenceCounterCollection: CollectionReference, config: FirestoreConfig): (opts: KeyOp & {
ttlMs: number;
}) => Promise<AcquireResult<FirestoreCapabilities>>;