2026-03-04 12:59:40 +01:00

20 lines
462 B
JavaScript

export function createMutex() {
let promise;
let resolve;
const lock = async () => {
while (promise) {
await promise;
}
promise = new Promise((res) => {
resolve = res;
});
};
const unlock = async () => {
const res = resolve;
promise = undefined;
resolve = undefined;
res?.();
};
return { lock, unlock };
}
//# sourceMappingURL=create-mutex.js.map