0.1.6 • Published 9 months ago

@toolbuilder/semaphore v0.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Semaphore and Mutex

This library provides Semaphore and Mutex implementations. You can acquire a lock with either async or sync methods.

Installation

npm install @toolbuilder/semaphore

Use

The API documentation is here

import { Mutex } from '@toolbuilder/semaphore'

const mutex = new Mutex()
const release = await mutex.acquire()
release() // to release mutex
import { Mutex, Semaphore } from '@toolbuilder/semaphore'

const semaphore = new Semaphore(5) // max locks that can be acquired
await semaphore.acquire()
semaphore.release() // to release lock

Contributing

Contributions are welcome. Please create a pull request.

  • I use pnpm instead of npm.
  • Package verification requires pnpm to be installed globally.
    • npm install -g pnpm
    • pnpm install
    • pnpm test to run unit tests
    • pnpm run check:packfile to test the pack file against Node ES and CommonJS projects, as well as Electron.
    • pnpm run check to validate the package is ready for commit

Issues

This project uses Github issues.

License

MIT

0.1.6

9 months ago

0.1.5

2 years ago

0.1.4

3 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.0

4 years ago