API reference@evolu/commonTask › MutexByKey

Defined in: packages/common/src/Task.ts:2776

A keyed Mutex registry.

Provides mutex operations per key.

By default, createMutexByKey uses reference identity for keys, matching native Map. Callers may instead provide a lookup so logical equality is based on a derived stable key.

Extends

Methods

[dispose]()

dispose: void;

Defined in: node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts:36

Inherited from

Disposable.[dispose]

Properties

snapshot

readonly snapshot: (key: K) =>
  | SemaphoreSnapshot
  | null;

Defined in: packages/common/src/Task.ts:2785

Returns the current mutex state for key, or null if absent.

withLock

readonly withLock: <T, E, D>(key: K, task: Task<T, E, D>) => Task<T, E, D>;

Defined in: packages/common/src/Task.ts:2782

Executes a Task while holding the mutex lock for a specific key.

Behaves like Mutex.withLock, scoped to key.