API reference@evolu/commonTask › createMutexRef

function createMutexRef<T>(initialValue: T): MutexRef<T>;

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

Creates a MutexRef.

Example

import { assertOk, createMutexRef, createRun, ok } from "@evolu/common";

const counter = createMutexRef(0);
const increment = counter.updateAndGet((value) => () => ok(value + 1));

await using run = createRun();
assertOk(await run(increment), 1);
assertOk(await run(counter.get), 1);