syncguard
Version:
Functional TypeScript library for distributed locking across microservices. Prevents race conditions with Redis, Firestore, and custom backends. Features automatic lock management, timeout handling, and extensible architecture.
17 lines (16 loc) • 681 B
JavaScript
/* SPDX-FileCopyrightText: 2025-present Kriasoft */
/* SPDX-License-Identifier: MIT */
import { createLock as createBaseLock } from "../common/backend.js";
import { createFirestoreBackend } from "./backend.js";
/**
* Creates a distributed lock function using Firestore backend
* @param db Firestore instance
* @param options Backend-specific configuration options
* @returns Lock function with automatic and manual operations
*/
export function createLock(db, options = {}) {
const backend = createFirestoreBackend(db, options);
return createBaseLock(backend);
}
// Re-export types and backend for advanced usage
export { createFirestoreBackend } from "./backend.js";