Files: d875b8b05b237bdbe18027c2d27eb7ff8197110e / README.md
2213 bytesRaw
SYNOPSIS :lock: :globe_with_meridians:
Creates a promise based map of locks that can be used as a semaphore
INSTALL
npm install lockmap
USAGE
const LockMap = require('lockmap')
const lockmap = new LockMap()
const id = 'test'
// set a lock for an id
const unlock = lockmap.lock(id)
setTimeout(() => {
// do some async work
console.log('here first!')
unlock()
}, 300)
// wait until the lock resolves
await lockmap.getLock(id)
console.log('here now!')
API
constructor
Creates a new instance of LockMap
lock
Creates a lock on a given ID and returns a resolve function to unlock the lock
Parameters
id
any
Returns Function the resolve function to call once it to unlock
getLock
gets the current lock if any for a given id. If there is a lock this will return a promise that resolves once the lock is unlocked
Parameters
id
Returns Promise
LICENSE
Built with git-ssb-web