Acquires a lock on the requested identifier. The promise will resolve when the lock has been acquired.
Counts the number of active locks.
Releases a lock on the requested identifier. The promise will resolve when the lock has been released. In case there is no lock on the resource an error should be thrown.
A resource locker making use of the
async-lock
library. Note that all locks are kept in memory until they are unlocked which could potentially result in a memory leak if locks are never unlocked, so make sure this is covered with expiring locks for example, and/or properfinally
handles.