API reference › @evolu/common › Task › 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.