{"versions":{"0.1.0":{"name":"async-lock","description":"[![Build Status](https://travis-ci.org/rain1017/async-lock.svg?branch=master)](https://travis-ci.org/rain1017/async-lock) [![Dependencies Status](https://david-dm.org/rain1017/async-lock.svg)](https://david-dm.org/rain1017/async-lock)","version":"0.1.0","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":[],"engines":{"node":"0.10.x","npm":"1.4.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{},"devDependencies":{"should":"~4.5.0","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.10.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~2.0.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"1ad8519ce2c9308d9d1a3a171ef9e598db99c1cf","_id":"async-lock@0.1.0","_shasum":"b4435395f90e074046c3be648d65dd8075e0cc28","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"b4435395f90e074046c3be648d65dd8075e0cc28","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.1.0.tgz"},"directories":{}},"0.1.1":{"name":"async-lock","description":"Mutex on asynchronous code","version":"0.1.1","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":[],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{},"devDependencies":{"should":"~4.5.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.10.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~2.0.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"ad238df2ebba9ff1ce2c378761a09f67da2a7532","_id":"async-lock@0.1.1","_shasum":"3ad9d5d4efa802c7a42ce1ceec3e48576d9b2110","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"3ad9d5d4efa802c7a42ce1ceec3e48576d9b2110","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.1.1.tgz"},"directories":{}},"0.1.2":{"name":"async-lock","description":"Mutex on asynchronous code","version":"0.1.2","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{},"devDependencies":{"should":"~4.5.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.10.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~2.0.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"c69cc3138333671ba8ea125fac322f7ec2ca7fd1","_id":"async-lock@0.1.2","_shasum":"2c83580bc1988384889e22cf7befba82934213f5","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"2c83580bc1988384889e22cf7befba82934213f5","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.1.2.tgz"},"directories":{}},"0.2.0":{"name":"async-lock","description":"Mutex on asynchronous code","version":"0.2.0","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.1.2","lodash":"~3.2.0"},"devDependencies":{"should":"~4.5.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.10.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~2.0.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"c123e0f6a255403b25a1d10cf7b5cd8070c477fd","_id":"async-lock@0.2.0","_shasum":"2c3e84456aec1c006b8bc049e0f75c53d38edad4","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"2c3e84456aec1c006b8bc049e0f75c53d38edad4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.2.0.tgz"},"directories":{}},"0.2.1":{"name":"async-lock","description":"Mutex on asynchronous code","version":"0.2.1","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.1.2"},"devDependencies":{"lodash":"~3.3.0","should":"~4.5.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.10.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~2.0.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"ffcc3633fe8eb5d668a987b2547b8ed22b303310","_id":"async-lock@0.2.1","_shasum":"f5f5deac4b2ee7f861388dbc63630a2b179c7247","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"f5f5deac4b2ee7f861388dbc63630a2b179c7247","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.2.1.tgz"},"directories":{}},"0.3.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.0","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"c803414d19855ff7866b00da41febdc96e8a9379","_id":"async-lock@0.3.0","_shasum":"0478f5ef1338f811bf2b31b7413182ad040b0fe3","_from":".","_npmVersion":"2.1.18","_nodeVersion":"0.10.24","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"0478f5ef1338f811bf2b31b7413182ad040b0fe3","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.0.tgz"},"directories":{}},"0.3.1":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.1","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"bluebird":"~2.9.24","lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"3c13a07c6336ad83eb1fe8907ed582b55199ff00","_id":"async-lock@0.3.1","_shasum":"1a09a91f1968740401f0dc99159ec9bb7273e29a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"1a09a91f1968740401f0dc99159ec9bb7273e29a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.1.tgz"},"directories":{}},"0.3.2":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.2","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"bluebird":"~2.9.24","lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"774ae3bb942c0b0d9853ea8029b9211cf0fb0142","_id":"async-lock@0.3.2","_shasum":"963e61de3369548128d654728318bc602b3c72f5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"963e61de3369548128d654728318bc602b3c72f5","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.2.tgz"},"directories":{}},"0.3.3":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.3","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{"node":"0.10.x"},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"bluebird":"~2.9.24","lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"093f908438576ba0878bde70ca5ff45368a66683","_id":"async-lock@0.3.3","_shasum":"e4ac0022346de4db1bac803c65c61cd8bae2dcdb","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"e4ac0022346de4db1bac803c65c61cd8bae2dcdb","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.3.tgz"},"directories":{}},"0.3.4":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.4","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"bluebird":"~2.9.24","lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"39aab6060767dbfaf1ddb3d2bf8d982fb66e709f","_id":"async-lock@0.3.4","_shasum":"b043903032399e60d65589f320c8d0cab7850252","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"b043903032399e60d65589f320c8d0cab7850252","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.4.tgz"},"directories":{}},"0.3.5":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.5","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["async","lock","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.2.0"},"devDependencies":{"bluebird":"~2.9.24","lodash":"~3.3.0","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"d0aec4e15fdbcb7d182ccf895fbf0c50246d7122","_id":"async-lock@0.3.5","_shasum":"3fe42a86d1d9c639719109e263b5e36bdf0e7d76","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"dist":{"shasum":"3fe42a86d1d9c639719109e263b5e36bdf0e7d76","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.5.tgz"},"directories":{}},"0.3.6":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.6","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"git+https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.4.1"},"devDependencies":{"bluebird":"~2.9.34","lodash":"~3.10.1","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"d68ffa0acbf63288f86105b38aed61d7670090c0","_id":"async-lock@0.3.6","_shasum":"3374586c1bf1400339c113662af1a2de1a1c7012","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.2.0","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"dist":{"shasum":"3374586c1bf1400339c113662af1a2de1a1c7012","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.6.tgz"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"directories":{}},"0.3.7":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.7","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-mutex","repository":{"type":"git","url":"git+https://github.com/rain1017/async-mutex.git"},"bugs":{"url":"https://github.com/rain1017/async-mutex/issues"},"keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.4.1"},"devDependencies":{"bluebird":"~2.9.34","lodash":"~3.10.1","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"fbb15be0162f200d73cef4a2201f50c1391490f7","_id":"async-lock@0.3.7","_shasum":"498cdeb5eafcef73e2e5b7788a748bf82ae1a1c8","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"dist":{"shasum":"498cdeb5eafcef73e2e5b7788a748bf82ae1a1c8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.7.tgz"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"directories":{}},"0.3.8":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.8","author":{"name":"rain1017"},"private":false,"homepage":"https://github.com/rain1017/async-lock","repository":{"type":"git","url":"git+https://github.com/rain1017/async-lock.git"},"bugs":{"url":"https://github.com/rain1017/async-lock/issues"},"keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.4.1"},"devDependencies":{"bluebird":"~2.9.34","lodash":"~3.10.1","should":"~5.1.0","grunt-cli":"~0.1.13","grunt-env":"~0.4.2","grunt-contrib-watch":"~0.6.1","grunt-contrib-jshint":"~0.11.0","grunt-contrib-clean":"~0.6.0","grunt-mocha-test":"~0.12.6","load-grunt-tasks":"~3.1.0","blanket":"~1.1.6"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"}],"gitHead":"fbb15be0162f200d73cef4a2201f50c1391490f7","_id":"async-lock@0.3.8","_shasum":"b3623293475f31e752dec6944f4dd3350dbd34e5","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"anonymous","email":"rain1017@gmail.com"},"dist":{"shasum":"b3623293475f31e752dec6944f4dd3350dbd34e5","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.8.tgz"},"maintainers":[{"name":"anonymous","email":"rain1017@gmail.com"}],"directories":{}},"0.3.9":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.9","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.4.1"},"devDependencies":{"bluebird":"~3.4.6","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.0.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","should":"~11.1.1"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","email":"github@workingcode.ninja"}],"gitHead":"0f37ef81dc181a129fd95cec57b570a7396f3af4","_id":"async-lock@0.3.9","_shasum":"fc699cbb057a87e47fc00840e5e5421ab30be7b0","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.2.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"fc699cbb057a87e47fc00840e5e5421ab30be7b0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.9.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/async-lock-0.3.9.tgz_1480538194892_0.10103566152974963"},"directories":{}},"0.3.10":{"name":"async-lock","description":"Lock on asynchronous code","version":"0.3.10","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"dependencies":{"q":"~1.5.0"},"devDependencies":{"bluebird":"~3.5.0","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.1.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","should":"~11.2.1"},"contributors":[{"name":"rain1017","email":"rain1017@gmail.com"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","email":"github@workingcode.ninja"}],"gitHead":"85f4c9f1d2e07da48af3d5fb546931fa897569f5","_id":"async-lock@0.3.10","_shasum":"5c2c79f040cb03fd3443e1588d31217afa0a85cc","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"5c2c79f040cb03fd3443e1588d31217afa0a85cc","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-0.3.10.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock-0.3.10.tgz_1498588786938_0.8889568343292922"},"directories":{}},"1.0.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.0.0","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"~3.5.0","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.1.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","q":"~1.5.0","should":"~11.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"}],"gitHead":"2f5860d29121ae5cb6b87bc9a6d68ae3a102b1f4","_id":"async-lock@1.0.0","_shasum":"b81abbdbd2a6e516773a044b7e6917ae2001f370","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"b81abbdbd2a6e516773a044b7e6917ae2001f370","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.0.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock-1.0.0.tgz_1498772076937_0.4932195539586246"},"directories":{}},"1.1.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.1.0","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"~3.5.0","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.1.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","q":"~1.5.0","should":"~11.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"}],"gitHead":"89f500efa8924eb3b084038b39fe720e4663cdbe","_id":"async-lock@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"dist":{"integrity":"sha512-E0VGRnqCHvO75pYAMifJx79jkW+4AfVOF1v2ElBN1XixZEXI1GCP4dqnF+MkBWPSE/V9LBAfW1q6PgAC9UwHew==","shasum":"48177561d47f81b286309598e908a825bb02082a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.1.0.tgz"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock-1.1.0.tgz_1508221951292_0.5971742367837578"},"directories":{}},"1.1.1":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.1.1","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"~3.5.0","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.1.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","q":"~1.5.0","should":"~11.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"}],"gitHead":"957689ff1e46dc2748e6032d5a09bdc086348a45","_id":"async-lock@1.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-LWIoBjIiS0FHl3lAgX5XO4KvhShib9yDS0sxJMIyc1wk7xoS154FbXILfFEpNcfiVBanxPIGBvdbuXbrzo9JIA==","shasum":"38c0f1be5755ec43ac83edaf14138ff9b6ea42ef","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.1.1.tgz","fileCount":7,"unpackedSize":14630},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.1.1_1518564805887_0.29626256492573644"},"_hasShrinkwrap":false},"1.1.2":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.1.2","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"~3.5.0","grunt":"^1.0.1","grunt-cli":"~1.2.0","grunt-contrib-clean":"~1.1.0","grunt-contrib-jshint":"~1.1.0","grunt-contrib-watch":"~1.0.0","grunt-env":"~0.4.4","grunt-mocha-test":"~0.13.2","load-grunt-tasks":"~3.5.2","lodash":"~4.17.2","mocha":"^3.2.0","q":"~1.5.0","should":"~11.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"}],"gitHead":"e67f0a94c3688296ad871d3e6750c360a3a74126","_id":"async-lock@1.1.2","_npmVersion":"5.6.0","_nodeVersion":"9.6.1","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-TIfjV4wRLybwL0qZgJiKwxxYilYEXUQj2BZoaEpiWnBXb5/zuEtOhVYITu5/NrcPmO2CR+ybOGWrV0u8IHJ2uw==","shasum":"d552b3f8fe93018bf917efcf66d3154b9035282a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.1.2.tgz","fileCount":7,"unpackedSize":14486},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.1.2_1519672870538_0.8228437249335285"},"_hasShrinkwrap":false},"1.1.3":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.1.3","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.3","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^0.4.4","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.10","mocha":"^5.2.0","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"}],"gitHead":"a29850da12e3202c28f8d7b6df0d69cdcbd9f642","_id":"async-lock@1.1.3","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-nxlfFLGfCJ1r7p9zhR5OuL6jYkDd9P7FqSitfLji+C1NdyhCz4+rWW3kiPiyPASHhN7VlsKEvRWWbnME9lYngw==","shasum":"e47f1cbb6bec765b73e27ed8961d58006457ec08","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.1.3.tgz","fileCount":7,"unpackedSize":14600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGiACCRA9TVsSAnZWagAA67oP/itLXjHNUz8ekSuTS/cs\nVYf7sI2AutWuETjE9YdF2WG8GwhWVvRIz4usGL6RZULR8PTw3GS88a+UyvM2\nNTS4QXkgZo0vbUzkUY3nZv36s+p07ylVlNPuIFIlxW4zCxFct2uQTOjOZ5O1\nMUAfMSFoQrT7NNPue1Q7wU7EYOeFQBzNGj79PXQRn+RouUPDDAAtuzrV1/dv\nPFE44VCeeFGWq8AQcxH0KrGKeJP5iS5bkE87dw7sirWVyV449sG3BfCrOQHZ\nX35z4JiQGlDpzzfmegjMZDom3y6JuDjE7AueZAR/pNMp82VaIyjESoP8KmyR\nblUhS2UrI/GaCS5qmTRKI6odOHDeDDTOmba6GUg088HM975Ebgx4mxbffCw7\n/zWXInNEelrU3w12hmQ1j6CZCM+Qr9LVL6dtoQE1uMQXNnP/nUhdqEzZCpoa\nJHjnc2sxAH5KPNVnaH1RZPTwkRfbh55iRBVsUThypC3sZ283KJDZ4ooNz/zq\nG6/LvTJDXYtZxzzZ/HYVlanLpKPcE/TSgPFYq/foEqI1/7jfepya/EuNFiFp\nXrZUe6vqNAhnPbyHOflvQ+4Jtqhxgfwtib8lrgSmeZo6mzIaaR7z6iXt5oeu\nxSpR/ET+3PV8Ref1wCXVqCrpWBXiX0eVqQBpMwJ1IEOl6zlMOF6E85BexwoK\nbPgm\r\n=gIzG\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.1.3_1528438785661_0.07077446373494523"},"_hasShrinkwrap":false},"1.1.4":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.1.4","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.3","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^0.4.4","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.10","mocha":"^5.2.0","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"}],"gitHead":"d2be1295c1162c88c9bd84a826c8624cac61ee37","_id":"async-lock@1.1.4","_nodeVersion":"11.9.0","_npmVersion":"6.7.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-9vsVXt+mIvb8rV0G6V1x68Bvp/VksPJoZJxF/n/l9N60chNJ44opPr9WdZZfAV3leUdXt4xNvfyNWyY/j5enBA==","shasum":"863aff9d5c243f75034349be7df9c3ceb7a54254","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.1.4.tgz","fileCount":7,"unpackedSize":13898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVXhQCRA9TVsSAnZWagAAKHgP/RRfUlNA/iktCD4HiRRM\nacdz+qrbFs/NB9xsxWZtpGhJkrCvJR4UqaSQIuGRcszDF0PIx8/6796yM58B\ndWcK91SE1idt0QlQdW2PI96o6/+1YyCaJt6IMOs6tnYhNkvwXF8VMB+0Mim4\nOx8RWFLtgu6R/8YiKk4HVvVAVw/MskYjnmtWf9+7NY9wz21uZH24PyHuWJYY\n3pT/yJrfV+D8z0DOGMCBfs1KgD76eplKLzeZextzvcjrgvDcFNfdZBoamk5+\nLJUt9el3H7rR+PueZAKWKhwxTEvrzsPJNiS1IAgSFVffFkRSBP5lWVnCHCCy\nXvuImpsMqjAUosGY3bQaWlzGSPp07CZ67chUs2jZPcAV2Fn3tYgpTOwQybrY\n4u4bxWMG4xwAiFCgaBGPvMwiTC3HXmp10EiXtOEOjQUk0dMz8OhJy41N/a2i\nWQK8Xv+ZEwtw+c78FqDLoZnJZLWY8VwowgLxNrevVE6czSczCYl4HUinaf3r\n4WfgaI4j/yG5jWmX04sYb2L3SqobnxBbckmx1c5p1T9zCJHJfuG/eE2GDbWH\ne1t921LCG1ndI6Tvau4DZhtkRrVOsjRXJK4zILkSms8Fa5M6b799/ZGy/R3v\nUgX3m9UucUI2Wjfh2cJE2zErXdTx7pxAuEo/dONcSWaXO6lAtRprd31t1pHj\nZ9UX\r\n=mOpS\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.1.4_1549105231238_0.3745199396350072"},"_hasShrinkwrap":false},"1.2.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.0","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test","postinstall":""},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.3","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^0.4.4","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.10","mocha":"^5.2.0","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"}],"gitHead":"6fb63444b25c42c5455de96118ae03885a8f237b","_id":"async-lock@1.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"dist":{"integrity":"sha512-81HzTQm4+qMj6PwNlnR+y9g7pDdGGzd/YBUrQnHk+BhR28ja2qv497NkQQc1KcKEqh/RShm07di2b0cIWVFrNQ==","shasum":"cd6a53cb1ec3f86af25eafdeb6bc7c6e317258b8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.0.tgz","fileCount":7,"unpackedSize":13841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciQFuCRA9TVsSAnZWagAAOoQQAI8AGMTiyVYgbHO4LWUa\nJjmwSrwiMRd/DY2w6Y2vsPLIkVLWj1lJRj9IOuqhmkDNt6Ijv9lC+4ysyhLZ\n0aZgM+gDzAnQoS4zKcMT6OK/Sz2npmMMdyV/BesEuW1uelpmurPqVWp5XaKS\nmbG3hxRjiIQyuWx/k2bLJYd5Zgnpz5IhwW322R2e8bzx6CzCtOQLPHlz/b99\nS4ACUlYSrInKWyc50EoloCMy5B2UwsNK3dsK2myb8RXLa4CQQx1l1gpdy4+q\nbjQkhmwsT9TMw24oXR7pIOKMd5AsPiq6RD9BhL6xUEiGkKMJ0poKmw4cqFbI\nwRTDB5HCZO4/g7Y2kBC46Abw3GyGR0b8zb4ciyf6HmUitjoy0eOnYKxUwBU3\nGAU0A3L4z/2Zf0xzDRHSZ7Ph+E3vWM1QzmFduuUxBy0nFZ9OsduqU6Geez8P\nWXibSbHnc+KTScDD5O3coxaNtBuFJclKUv4k2Zj8cnconXxHMKh7VMBQpASe\nx25QVc72s1PSDuVqNlETMCwtF/24CTRYrmJgFwJSxR9SO1C2Z4YZ+GhnqXth\n6qkFdv7UAbR4WVKs8ehp0VIWeWPucNEYEvwe1NHSFWqGjodHtf3LNmfoDDAi\nzDXSxfGNwAv9SHyIuo5HOFOmjUpUIQOsbQlvbT3aiFv1QT8Juu2VH/RJOsPw\n/yH2\r\n=ALtq\r\n-----END PGP SIGNATURE-----\r\n"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.0_1552482670025_0.7689899800135369"},"_hasShrinkwrap":false},"1.2.1":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.1","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.11","mocha":"^5.2.0","q":"^1.5.1","should":"^13.2.1"},"dependencies":{"grunt-env":"^0.4.4"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"}],"gitHead":"9d9d5457e2f01b1a531827cb0579d5b01906c115","_id":"async-lock@1.2.1","_nodeVersion":"11.15.0","_npmVersion":"6.10.1","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-eHyJHqr7JivGaVfrpy7rJpTUVNoECFQFUL9ZVmaKDNaKa9IiYsnqNaYAiwU9AXtmDUE8LNjPdxvwMMJzW9vtVg==","shasum":"1bdfbb2f538aede775188877abd76919d7054bd6","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.1.tgz","fileCount":7,"unpackedSize":13996,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKchuCRA9TVsSAnZWagAACVAQAJYzYjwSdl4spT/EbP1Z\neAk4/1j/QE826UuuGkqNYiKR++gLfgxp5Sb8vmOecS5osUaK4sz9vVSpS+ZI\nED6ZUZucD0iNuw9t4r2hlql6Bn6WP2WnjMGq4C2i3ngRwAjJkKhx6ACk9s0x\nuegWKJYZeFqZmn1SEyi3ecDc/emzMUicNPh4QolMY1/MwRRAodHL4ZWtdAAR\nBX6zjMKJxwca+1lpz/i1T7Kxyo7OGTfhlfYZliNxipzkubVLPCnd4IztuNul\nc756IpFI0L2q3iv5nWx30PMkVmqle8Dv3DqnnF6HLCTsX2nPBz95MVCy5u2v\nr+AU2LqXSSBeJX/Dv4ssdm+W7j/yR3jR08F9TAEKDFH3gLidTOiwkFf+kWGt\nY0MF92G1dLDSqHPYsCqkuU0/jMEP42mvjInSgn+YqH+L1iyAGR6ij5/FJqh6\nBdiZI171bM2EXdn9yYFslGtt3N/FrGB/+m/Ah3daqfF3Y6SentkSwy1jFe35\nyPdprYgL0fXErULDlsoVwG3sqs5vQziUrMQs+pA3SNFIWnYTRTIP8dW2rjg9\nJO93qqUyJOs1yOPRtSS9jBvjtt1sZID/Ngx8cuPcMG5Ev/n9+wAMxCnxAKDF\nMzKnOZM75j5PcBXkbFBqFD5FI9c6Xvu3gPawSUY6omVGyDj25Clha1QjgAO+\nRo+h\r\n=DEe4\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.1_1563019373603_0.5391389007382441"},"_hasShrinkwrap":false},"1.2.2":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.2","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^0.4.4","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.11","mocha":"^5.2.0","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"}],"gitHead":"e1619df208e01062976e243edf1db89ddb9e2e2c","_id":"async-lock@1.2.2","_nodeVersion":"11.15.0","_npmVersion":"6.10.1","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"integrity":"sha512-uczz62z2fMWOFbyo6rG4NlV2SdxugJT6sZA2QcfB1XaSjEiOh8CuOb/TttyMnYQCda6nkWecJe465tGQDPJiKw==","shasum":"480bd51e4b7ffd4debbd4973763718ec9acb9a9e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.2.tgz","fileCount":7,"unpackedSize":14103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLN8jCRA9TVsSAnZWagAA7bsP/1TRhS5pArkBwMa1yHWK\n+gWIu+nQvRhrP4TOTj2qdhqUVygSaEvkcr5TTOtaD2Vmt/jxSqJyzcEQpSAB\ntJw60ih08xLMwUPdJhq46JpxYFWywA+DYXGxvZg5QhUsNw383ChBUXS0iJuf\nxLAJMWWHuSMfr5nwwC0qvPP3aWD01eQzkhkH69AZqQwsL+YI+rDjYPYXazgg\nbdgJiLMLpnCgTKJCJgxc5elBsz7cgaxrwZkDMG30/YxiM7BLPPt3q2dXACg6\nIvbpNcEkE+piyxpGY049Mg6DemlYkj5Zt3CVwo+QLx3epPFiaG9t+iizgthj\nZ9XyXhRq0ZcBdOa4zqHwKGmQHwPE0bzEV+gG8dPUKQ99keNFFffziMB4UY8E\neWrNxe304HwpySYV4F8PhimWyvsrAFyUUAKm1qDwOBGa0V5PWz8PB5jPBTzd\nKF7Th3CEgae4MOHk9Rck+n9y6GxYNDPibqqh+WL5PNcdJ1S3X8/Vp3VRa/la\npuAGctoFEYF1ei4Zo7yc5r6c4hhpgJl+f2Fu5q4JkB34/LaTxxluGlaVbvR9\niZ+GW/cG7ulCF1Q/HonWHzwDdY2yWkrMgXiLhUys5sD91hxMrZsiVxF2VK5q\nDCS/qSZ6QczyA71QsFdhi67Z4MGUNKLAYXYqXscQtfCa5q/hmbHbOwtPBrzn\nq0Lc\r\n=5CIA\r\n-----END PGP SIGNATURE-----\r\n"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.2_1563221794720_0.5902613887248829"},"_hasShrinkwrap":false},"1.3.1":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.3.1","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"},{"name":"abozaralizadeh","url":"https://github.com/abozaralizadeh"},{"name":"ThePiz","url":"https://github.com/ThePiz"},{"name":"Luke Stead","url":"https://github.com/luke-stead-sonocent"}],"gitHead":"b6f470b87f29f265f974ffcfc5589417141d80bd","_id":"async-lock@1.3.1","_nodeVersion":"17.3.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-zK7xap9UnttfbE23JmcrNIyueAn6jWshihJqA33U/hEnKprF/lVGBDsBv/bqLm2YMMl1DnpHhUY044eA0t1TUw==","shasum":"f2301c200600cde97acc386453b7126fa8aced3c","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.3.1.tgz","fileCount":7,"unpackedSize":16455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/ZAwCRA9TVsSAnZWagAANHwP/jRdrX4RCkIXPifg+NGP\nOhDC+Ab09X+SR82fstEVdbpVxVskBsZMWYpAkXmTuiIPW68GWTfeuk+imd6k\nlx+R294Q94vVUVsLeE1rRtYudLorjCIF9U2xDe0GDw8BUtiqTekvWj67YdIa\nG614MEdhcvtQ3R+Su1UUd43Zv1De8icV7bsjOudmqGJzonMFfvBxF75urVFI\nGOKUW2YP5/3Df2qTpwLKUTOog0Rc6qz6OLh/wFid9sYTBTX6M3l8zcXjpSMF\na0oqUX2a3JRtvjjp9++v34koOpOiYF8VUipwWoFLn6xmgYrGLV+oK36ZS57C\nyzzY90IFDkk/+wplu+o+MxOjyRc/PkqiJVRWvzGYiWesXonq5iKqWwoWlURn\nWNquxWGsg7707qc0vpdpbeXfNeORjVzf2SwHbvX/krgNNfmuK5oTuwCIpgb0\ngB/xtObH0YntNBWYUQFNHmdpDHv2KWA1RPcu0Br30Iee9AULrAfSvMM7SL0f\n9Y5hpqWhxnSg2v4CvcGpMapZM6SBS7DEdCx/8Nq9WRNfgYKZTLiwibMAHyKs\n97bt1kwGAWyPDnfrg6ms4EgJBoJlCUBSeDkXscBbODR5udbHFOvUpxvN5WAp\ndRkc4DXd6EFviPiJND3pFG008X/p2PeEtqO4osUfKh6g6MPIwiWH+M1dhEsO\nZ6Id\r\n=EAPA\r\n-----END PGP SIGNATURE-----\r\n","size":5966},"_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.3.1_1644007472409_0.7414385244281088"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-04T20:44:38.704Z"},"1.3.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.3.0","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"}],"gitHead":"a726dc1014991ab3b6804e46b8eaaf0862d714b0","_id":"async-lock@1.3.0","_nodeVersion":"15.14.0","_npmVersion":"7.8.0","dist":{"shasum":"0fba111bea8b9693020857eba4f9adca173df3e5","size":5909,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.3.0.tgz","integrity":"sha512-8A7SkiisnEgME2zEedtDYPxUPzdv3x//E7n5IFktPAtMYSEAV7eNJF0rMwrVyUFj6d/8rgajLantbjcNRQYXIg=="},"_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.3.0_1619560643624_0.9021000741085963"},"_hasShrinkwrap":false,"publish_time":1619560644069,"_cnpm_publish_time":1619560644069,"_cnpmcore_publish_time":"2021-12-16T15:36:36.772Z"},"1.2.8":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.8","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"}],"gitHead":"47ca94291cfb2afb3ee90d7d075cabdc8c8b1264","_id":"async-lock@1.2.8","_nodeVersion":"15.5.0","_npmVersion":"6.14.10","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"7b02bdfa2de603c0713acecd11184cf97bbc7c4c","size":5758,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.8.tgz","integrity":"sha512-G+26B2jc0Gw0EG/WN2M6IczuGepBsfR1+DtqLnyFSH4p2C668qkOCtEkGNVEaaNAVlYwEMazy1+/jnLxltBkIQ=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.8_1609783033567_0.37688870942736874"},"_hasShrinkwrap":false,"publish_time":1609783033689,"_cnpm_publish_time":1609783033689,"_cnpmcore_publish_time":"2021-12-16T15:36:37.011Z"},"1.2.7":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.7","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"}],"gitHead":"89fa310cdc95773cb241a19cb8c354afc467af57","_id":"async-lock@1.2.7","_nodeVersion":"15.5.0","_npmVersion":"6.14.10","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"70db1aaaf1bd37d40aebc3be90f82be37e7df07a","size":5609,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.7.tgz","integrity":"sha512-OOVSyNuHb1KaGq17oKqNKc+8/t7LzA88ihaWk+eStrNkOoI3wpbxQR/MtIfHhYLiLYW+b9kQ6aO90K7YUZnxoQ=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.7_1609782863772_0.01547742401614638"},"_hasShrinkwrap":false,"publish_time":1609782863909,"_cnpm_publish_time":1609782863909,"_cnpmcore_publish_time":"2021-12-16T15:36:37.221Z"},"1.2.6":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.6","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"}],"gitHead":"cf8e80b436c1a476ad60f3781cc0f147457da03c","_id":"async-lock@1.2.6","_nodeVersion":"15.3.0","_npmVersion":"6.14.8","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"c83c7a2569d1745306f4a5ae03680310e5f65e67","size":5572,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.6.tgz","integrity":"sha512-gobUp/bRWL/uJsxi4ZK7NM770s5d2Tx5Hl7uxFIcN6yTz1Kvy2RCSKEvzhLsjAAnYaNa8lDvcjy9ybM6lXFjIg=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.6_1607287747860_0.5500221515143233"},"_hasShrinkwrap":false,"publish_time":1607287748056,"_cnpm_publish_time":1607287748056,"_cnpmcore_publish_time":"2021-12-16T15:36:37.486Z"},"1.2.5":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.5","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"}],"gitHead":"ff0609440a0b4a70b2af8cf514364f00ddcbd451","_id":"async-lock@1.2.5","_nodeVersion":"15.3.0","_npmVersion":"6.14.8","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"15ee353175116ea1e0214f4771b31f2edaee0692","size":5528,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.5.tgz","integrity":"sha512-D/1Ydwiz9upaSFnx0p3L8slB8kuclq8TEVkBk/KVCxHuUBd8e+UVE6EC6EGadpewZeEZr2lm/uZ4R2tfGrjcCw=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.5_1607266068980_0.3146842749583312"},"_hasShrinkwrap":false,"publish_time":1607266069130,"_cnpm_publish_time":1607266069130,"_cnpmcore_publish_time":"2021-12-16T15:36:37.700Z"},"1.2.4":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.4","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.15","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"}],"gitHead":"78cb0c2441650d7bdc148548f99542ccc9c93fd7","_id":"async-lock@1.2.4","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"80d0d612383045dd0c30eb5aad08510c1397cb91","size":5470,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.4.tgz","integrity":"sha512-UBQJC2pbeyGutIfYmErGc9RaJYnpZ1FHaxuKwb0ahvGiiCkPUf3p67Io+YLPmmv3RHY+mF6JEtNW8FlHsraAaA=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.4_1589304944289_0.21466036912934783"},"_hasShrinkwrap":false,"publish_time":1589304944395,"_cnpm_publish_time":1589304944395,"_cnpmcore_publish_time":"2021-12-16T15:36:37.874Z"},"1.2.3":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.2.3","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.15","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"}],"gitHead":"8b84925050b32dad3037f1fc34137b04451c0089","_id":"async-lock@1.2.3","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"dist":{"shasum":"0d0852d48c150d1be252faf9ca82057333272332","size":5661,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.2.3.tgz","integrity":"sha512-at+TRmdp2CDNTMIevBK7CMgaA39OpyMA7MtEDa37544GdenYy9m3P5JvXq4zKmUCVc2HWy1pT563U5f0Sj0kuw=="},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.2.3_1589221993725_0.907401774358884"},"_hasShrinkwrap":false,"publish_time":1589221993919,"_cnpm_publish_time":1589221993919,"_cnpmcore_publish_time":"2021-12-16T15:36:38.084Z"},"1.3.2":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.3.2","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"},{"name":"abozaralizadeh","url":"https://github.com/abozaralizadeh"},{"name":"ThePiz","url":"https://github.com/ThePiz"},{"name":"Luke Stead","url":"https://github.com/luke-stead-sonocent"},{"name":"Simeon Borko","url":"https://github.com/simeonborko"},{"name":"Tim Schmidt","url":"https://github.com/taschmidt"}],"gitHead":"9df298380146901029d2a744aeacf684496c98a1","_id":"async-lock@1.3.2","_nodeVersion":"18.3.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-phnXdS3RP7PPcmP6NWWzWMU0sLTeyvtZCxBPpZdkYE3seGLKSQZs9FrmVO/qwypq98FUtWWUEYxziLkdGk5nnA==","shasum":"56668613f91c1c55432b4db73e65c9ced664e789","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.3.2.tgz","fileCount":7,"unpackedSize":17195,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAi2EfRlF83XFAUZj3nH2jrs7lsBxv/X10YycfxBugbiAiAOqzC5kPguUR9HVRgRYkU3uMom+qf0vP9dgER37IWkeA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJittoPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOCw//Vx3N5+JhH1sN4UIiiGTyGHDWUh7cSFw8tSwVIK8zK1tdLYtf\r\neqd84KszrG5a+KG9M6UQFMjbG9V1+RSSlvsBvz9jjd3KQiyjkNknKPTTmWag\r\nr1bk9Hc1T/Xh+bF+bpvKm58s/RewaaKSiy/YC1+RwKxI8VHhlL80o9lm+Yn3\r\nEewuw/PnuTKRZoP+C4LxAR1bc1FmAn4mR1PYy0UQ+ZLnEWul4MYzr9PTy0ee\r\nWh68+mcRKpXT3qjLnS9eOuYyzmGJqGsU4yUEc/F+lPPk0SIii0mJfF/wvslv\r\notFSu04k1Zt30myOioZ5BlQr2dYfxub1CAl0ioDJyMDEKz/7pzM9XQJTo24I\r\nN0y0vMxbG7VxqrVAFISP1xzsmiEVMQR4Sz0C4k9WsoEnfZee/BsusGnqeum9\r\nubyDYa7+m/QVLjPd7NeShqFYk46cbgJQyr1G9HOWdApRNRp6sDGFCkOjGR+0\r\nbXir29nmLJ6ammv+GblVbDMDikA//MqNIS25xyGeumnWKAD5X1YOQuxQ75n4\r\nB2Hl5jGC9eTfQ0HX84ioe4rNrOLl8ku4Iu9YTiiMu0pZO6QppLPHJi72+7+T\r\nHd1tnADqlBwLlu1TehdGS80Degk3ny5MC/hC+2lZL/VAAomjS9aXJqsWED0o\r\nNOG4T29zntGTEH07+5LYIrw3oLodTqeKWlU=\r\n=eTeu\r\n-----END PGP SIGNATURE-----\r\n","size":6202},"_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.3.2_1656150543495_0.3415165176879371"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-25T09:49:10.854Z"},"1.4.0":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.4.0","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^1.1.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^7.1.2","q":"^1.5.1","should":"^13.2.1"},"contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"},{"name":"abozaralizadeh","url":"https://github.com/abozaralizadeh"},{"name":"ThePiz","url":"https://github.com/ThePiz"},{"name":"Luke Stead","url":"https://github.com/luke-stead-sonocent"},{"name":"Simeon Borko","url":"https://github.com/simeonborko"},{"name":"Tim Schmidt","url":"https://github.com/taschmidt"},{"name":"Motty Milshtein","url":"https://github.com/mottymilshtein"}],"gitHead":"cf98f506f916106d037875b156b3232c0815a261","_id":"async-lock@1.4.0","_nodeVersion":"10.19.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-coglx5yIWuetakm3/1dsX9hxCNox22h7+V80RQOu2XUUMidtArxKoZoOtHUPuR84SycKTXzgGzAUR5hJxujyJQ==","shasum":"c8b6630eff68fbbdd8a5b6eb763dac3bfbb8bf02","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.4.0.tgz","fileCount":7,"unpackedSize":18200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDVNhN5K+O51DUaa3R6lmQ7Q0bQQrHjX/Pyf5XMqtCouAiEAvOPOpll/xrBhpIvzhwE0fmJtkZYXPuTjCj0ce40WNV8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXP7OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonMQ/+Jv//kzzuAVO2/dYEjMAg7xu7OT8m9k+MRTWu5q6xZUTq3riN\r\nZkc+QdijGXJN2ufidKkmltQEU5hVit/KlsVJiLAcxKxp0szeoo7ZtXSw6lzJ\r\nyBZy8r47sXBV9mmiVy6mWK7rbS/UWGgdJyZn1Ud7Wrl/pjsd4d82mm2r2pIA\r\n3bkWR1B4xO19qRsNdldX04KbSXC5IN5sBaRjmotscar1Zk8wkWVS9cLmU9Dv\r\nbzFQ5U2RfR3rj1HmVbwo4wyqlJPXGsompGYFc1zn0rOMQPKrqkYqW165lZib\r\nAGtD86R8H9SX/TDsQTYIrGkj8vMnS0/LOfVUMOF6KARmHn8mJfHY6W/xw5Bq\r\nCvWWghAZtzEoOr/xVfAIY2sGEokF0qOAe/dIWuxCj3hpglR7t7U2276nnk7C\r\nJuWrDDAtzKrGgtGOUMCWQz9nhs9AIVTvsNBzs1mDb26CsSWKl+QDg5DQ43YZ\r\ne47KcvwJz0EM+0tGI7mDUJgQVMvSc7NgUrSpGr7H3rxLZ6+34obmYPC2PJ0N\r\nf+qh/+xmzLp6z/wm6s5e09USwEN0lRYx+9O4YG5tfjTCIm5lFF4jsM0r5Vy+\r\nW7YBqcgwKPfrm5Xx/32jeJC2I9yzj/2/eGcZAmI37/mT8vfJ4FgEj5rthXQm\r\nynHDghL8Flt04XC1SrbQ2CEvmVsWPb8Tbeg=\r\n=T+3D\r\n-----END PGP SIGNATURE-----\r\n","size":6379},"_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.4.0_1667038926223_0.6719234690687608"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-29T10:22:11.214Z"},"1.4.1":{"name":"async-lock","description":"Lock on asynchronous code","version":"1.4.1","author":{"name":"Rogier Schouten","email":"github@workingcode.ninja","url":"https://github.com/rogierschouten/"},"private":false,"homepage":"https://github.com/rogierschouten/async-lock","repository":{"type":"git","url":"git+https://github.com/rogierschouten/async-lock.git"},"bugs":{"url":"https://github.com/rogierschouten/async-lock/issues"},"license":"MIT","keywords":["lock","async","concurrency","critical","section","mutex"],"engines":{},"scripts":{"start":"grunt","test":"grunt test"},"devDependencies":{"bluebird":"^3.5.1","grunt":"^1.0.4","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-env":"^1.0.1","grunt-mocha-test":"^0.13.3","load-grunt-tasks":"^4.0.0","lodash":"^4.17.20","mocha":"^10.2.0","q":"^1.5.1","should":"^13.2.1"},"_id":"async-lock@1.4.1","contributors":[{"name":"rain1017","url":"https://github.com/rain1017"},{"name":"JonathanPicques","url":"https://github.com/JonathanPicques"},{"name":"Rogier Schouten","url":"https://github.com/rogierschouten"},{"name":"erikvold","url":"https://github.com/erikvold"},{"name":"Christian Passet","url":"https://github.com/thePunIssuer"},{"name":"Tanguy Krotoff","url":"https://github.com/tkrotoff"},{"name":"jtyers","url":"https://github.com/jtyers"},{"name":"Paul Roub","url":"https://github.com/paulroub"},{"name":"Geoff Whatley","url":"https://github.com/meatwallace"},{"name":"Patryk L.","url":"https://github.com/LosTigeros"},{"name":"Julian Saunderson","url":"https://github.com/bitrivers"},{"name":"Philipp Keck","url":"https://github.com/Philipp91"},{"name":"abozaralizadeh","url":"https://github.com/abozaralizadeh"},{"name":"ThePiz","url":"https://github.com/ThePiz"},{"name":"Luke Stead","url":"https://github.com/luke-stead-sonocent"},{"name":"Simeon Borko","url":"https://github.com/simeonborko"},{"name":"Tim Schmidt","url":"https://github.com/taschmidt"},{"name":"Motty Milshtein","url":"https://github.com/mottymilshtein"}],"gitHead":"e4152de0efc66179b3675e177bc738beaecf6b38","_nodeVersion":"20.8.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==","shasum":"56b8718915a9b68b10fce2f2a9a3dddf765ef53f","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/async-lock/-/async-lock-1.4.1.tgz","fileCount":7,"unpackedSize":18255,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHalYjdFX/9tg2j/lnyCbTkIlm2d3cZF6EMvhhbXRGsXAiEA81P7tlktC/uuYUA7UgJJeMu3SuVTovcVxGT5Ys9COmg="}]},"_npmUser":{"name":"anonymous","email":"rogier.schouten@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"rogier.schouten@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-lock_1.4.1_1703274274377_0.9043478411585963"},"_hasShrinkwrap":false}},"dist-tags":{"latest":"1.4.1"},"name":"async-lock","time":{"modified":"2023-12-22T19:49:43.036Z","created":"2022-01-26T20:58:35.101Z","0.1.0":"2015-01-13T10:24:34.925Z","0.1.1":"2015-01-13T10:36:31.707Z","0.1.2":"2015-01-13T10:43:42.796Z","0.2.0":"2015-02-21T09:24:40.181Z","0.2.1":"2015-02-21T09:36:44.013Z","0.3.0":"2015-03-06T16:03:34.352Z","0.3.1":"2015-04-15T06:41:05.705Z","0.3.2":"2015-05-08T03:51:50.246Z","0.3.3":"2015-05-19T07:47:23.501Z","0.3.4":"2015-06-09T08:58:49.408Z","0.3.5":"2015-06-15T09:52:01.825Z","0.3.6":"2015-09-07T06:39:22.470Z","0.3.7":"2015-09-25T15:13:14.214Z","0.3.8":"2015-09-25T19:27:19.169Z","0.3.9":"2016-11-30T20:36:35.579Z","0.3.10":"2017-06-27T18:39:47.974Z","1.0.0":"2017-06-29T21:34:37.906Z","1.1.0":"2017-10-17T06:32:32.144Z","1.1.1":"2018-02-13T23:33:26.576Z","1.1.2":"2018-02-26T19:21:10.636Z","1.1.3":"2018-06-08T06:19:45.790Z","1.1.4":"2019-02-02T11:00:31.792Z","1.2.0":"2019-03-13T13:11:10.182Z","1.2.1":"2019-07-13T12:02:53.714Z","1.2.2":"2019-07-15T20:16:34.877Z","1.3.1":"2022-02-04T20:44:32.577Z","1.3.0":"2021-04-27T21:57:24.069Z","1.2.8":"2021-01-04T17:57:13.689Z","1.2.7":"2021-01-04T17:54:23.909Z","1.2.6":"2020-12-06T20:49:08.056Z","1.2.5":"2020-12-06T14:47:49.130Z","1.2.4":"2020-05-12T17:35:44.395Z","1.2.3":"2020-05-11T18:33:13.919Z","1.3.2":"2022-06-25T09:49:03.650Z","1.4.0":"2022-10-29T10:22:06.394Z","1.4.1":"2023-12-22T19:44:34.520Z"},"readme":"# async-lock\n\nLock on asynchronous code\n\n[![Build Status](https://travis-ci.org/rogierschouten/async-lock.svg?branch=master)](https://travis-ci.org/rogierschouten/async-lock)\n\n* ES6 promise supported\n* Multiple keys lock supported\n* Timeout supported\n* Occupation time limit supported\n* Execution time limit supported\n* Pending task limit supported\n* Domain reentrant supported\n* 100% code coverage\n\n## Disclaimer\n\nI did not create this package, and I will not add any features to it myself. I was granted the ownership because it was no longer being\nmaintained, and I volunteered to fix a bug.\n\nIf you have a new feature you would like to have incorporated, please send me a PR and I will be happy to work with you and get it merged.\nFor any bugs, PRs are most welcome but when possible I will try to get them resolved as soon as possible.\n\n## Why do you need locking on single threaded nodejs?\n\nNodejs is single threaded, and the code execution never gets interrupted inside an event loop, so locking is unnecessary? This is true ONLY IF your critical section can be executed inside a single event loop.\nHowever, if you have any async code inside your critical section (it can be simply triggered by any I/O operation, or timer), your critical logic will across multiple event loops, therefore it's not concurrency safe!\n\nConsider the following code\n```js\nredis.get('key', function(err, value) {\n\tredis.set('key', value * 2);\n});\n```\nThe above code simply multiply a redis key by 2.\nHowever, if two users run concurrently, the execution order may like this\n```\nuser1: redis.get('key') -> 1\nuser2: redis.get('key') -> 1\nuser1: redis.set('key', 1 x 2) -> 2\nuser2: redis.set('key', 1 x 2) -> 2\n```\nObviously it's not what you expected\n\n\nWith asyncLock, you can easily write your async critical section\n```js\nlock.acquire('key', function(cb) {\n\t// Concurrency safe\n\tredis.get('key', function(err, value) {\n\t\tredis.set('key', value * 2, cb);\n\t});\n}, function(err, ret) {\n});\n```\n\n## Get Started\n\n```js\nvar AsyncLock = require('async-lock');\nvar lock = new AsyncLock();\n\n/**\n * @param {String|Array} key \tresource key or keys to lock\n * @param {function} fn \texecute function\n * @param {function} cb \t(optional) callback function, otherwise will return a promise\n * @param {Object} opts \t(optional) options\n */\nlock.acquire(key, function(done) {\n\t// async work\n\tdone(err, ret);\n}, function(err, ret) {\n\t// lock released\n}, opts);\n\n// Promise mode\nlock.acquire(key, function() {\n\t// return value or promise\n}, opts).then(function() {\n\t// lock released\n});\n```\n\n## Error Handling\n\n```js\n// Callback mode\nlock.acquire(key, function(done) {\n\tdone(new Error('error'));\n}, function(err, ret) {\n\tconsole.log(err.message) // output: error\n});\n\n// Promise mode\nlock.acquire(key, function() {\n\tthrow new Error('error');\n}).catch(function(err) {\n\tconsole.log(err.message) // output: error\n});\n```\n\n## Acquire multiple keys\n\n```js\nlock.acquire([key1, key2], fn, cb);\n```\n\n## Domain reentrant lock\n\nLock is reentrant in the same domain\n\n```js\nvar domain = require('domain');\nvar lock = new AsyncLock({domainReentrant : true});\n\nvar d = domain.create();\nd.run(function() {\n\tlock.acquire('key', function() {\n\t\t//Enter lock\n\t\treturn lock.acquire('key', function() {\n\t\t\t//Enter same lock twice\n\t\t});\n\t});\n});\n```\n\n## Options\n\n```js\n// Specify timeout - max amount of time an item can remain in the queue before acquiring the lock\nvar lock = new AsyncLock({timeout: 5000});\nlock.acquire(key, fn, function(err, ret) {\n\t// timed out error will be returned here if lock not acquired in given time\n});\n\n// Specify max occupation time - max amount of time allowed between entering the queue and completing execution\nvar lock = new AsyncLock({maxOccupationTime: 3000});\nlock.acquire(key, fn, function(err, ret) {\n\t// occupation time exceeded error will be returned here if job not completed in given time\n});\n\n// Specify max execution time - max amount of time allowed between acquiring the lock and completing execution\nvar lock = new AsyncLock({maxExecutionTime: 3000});\nlock.acquire(key, fn, function(err, ret) {\n\t// execution time exceeded error will be returned here if job not completed in given time\n});\n\n// Set max pending tasks - max number of tasks allowed in the queue at a time\nvar lock = new AsyncLock({maxPending: 1000});\nlock.acquire(key, fn, function(err, ret) {\n\t// Handle too much pending error\n})\n\n// Whether there is any running or pending async function\nlock.isBusy();\n\n// Use your own promise library instead of the global Promise variable\nvar lock = new AsyncLock({Promise: require('bluebird')}); // Bluebird\nvar lock = new AsyncLock({Promise: require('q')}); // Q\n\n// Add a task to the front of the queue waiting for a given lock\nlock.acquire(key, fn1, cb); // runs immediately\nlock.acquire(key, fn2, cb); // added to queue\nlock.acquire(key, priorityFn, cb, {skipQueue: true}); // jumps queue and runs before fn2\n```\n\n## Changelog\n\nSee [Changelog](./History.md)\n\n## Issues\n\nSee [issue tracker](https://github.com/rogierschouten/async-lock/issues).\n\n## License\n\nMIT, see [LICENSE](./LICENSE)","users":{}}