API reference › @evolu/common › Task › MutexRef
Defined in: packages/common/src/Task.ts:2828
MutexRef serializes all operations through an internal Mutex. Reads,
writes, and updates observe one consistent value transition at a time. If the
update fails or is aborted, the previous value is preserved.
Typical use cases are small coordinators such as caches, session values, in-memory registries, and counters whose transitions need to run Tasks atomically.
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
get
readonly get: Task<T>;
Defined in: packages/common/src/Task.ts:2830
Returns the current value.
getAndSet
readonly getAndSet: (value: T) => Task<T>;
Defined in: packages/common/src/Task.ts:2836
Sets the current value and returns the previous value.
getAndUpdate
readonly getAndUpdate: <E, D>(updater: (current: T) => Task<T, E, D>) => Task<T, E, D>;
Defined in: packages/common/src/Task.ts:2847
Updates the current value and returns the previous value.
modify
readonly modify: <R, E, D>(modifier: (current: T) => Task<readonly [R, T], E, D>) => Task<R, E, D>;
Defined in: packages/common/src/Task.ts:2857
Modifies the current value and returns a computed result.
set
readonly set: (value: T) => Task<void>;
Defined in: packages/common/src/Task.ts:2833
Sets the current value.
setAndGet
readonly setAndGet: (value: T) => Task<T>;
Defined in: packages/common/src/Task.ts:2839
Sets the current value and returns it.
update
readonly update: <E, D>(updater: (current: T) => Task<T, E, D>) => Task<void, E, D>;
Defined in: packages/common/src/Task.ts:2842
Updates the current value.
updateAndGet
readonly updateAndGet: <E, D>(updater: (current: T) => Task<T, E, D>) => Task<T, E, D>;
Defined in: packages/common/src/Task.ts:2852
Updates the current value and returns it.