LendAndRegret/node_modules/es-toolkit/dist/promise/mutex.mjs
2026-05-02 17:27:43 +08:00

17 lines
314 B
JavaScript

import { Semaphore } from './semaphore.mjs';
class Mutex {
semaphore = new Semaphore(1);
get isLocked() {
return this.semaphore.available === 0;
}
async acquire() {
return this.semaphore.acquire();
}
release() {
this.semaphore.release();
}
}
export { Mutex };