{"_id":"async-deco","_rev":"72-d8bebd629ff4041c68e3d7648317023d","name":"async-deco","description":"A collection of decorators for adding features to asynchronous functions","dist-tags":{"latest":"9.1.7"},"versions":{"1.0.0":{"name":"async-deco","version":"1.0.0","description":"A collection of decorators you can use to wrap functions (callback or promise based) to make them more robust","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0"},"gitHead":"1f72e03ce2884cd3fbd073af06c5c08c9c8654fd","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@1.0.0","_shasum":"d76ff672114be4b7c9e47898fd240bd27f090c63","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"d76ff672114be4b7c9e47898fd240bd27f090c63","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-1.0.0.tgz","integrity":"sha512-ZdN3Gj4yzZKt3DonjheU7dhZhlUETooYMXuqA/OZ7+NtPHqepc0z2xhxBnatAi6JnOTjRMf5liGb1LcFqAjaSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQEGlZLutfTvGFSgAh74GDtR1K7JZkPwlV6sOve7c7bAIgXfLW3hakyjmeSx5JUw8qGfXvuHt4OgykMfm+SPm8AiU="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/async-deco-1.0.0.tgz_1456067028543_0.9186107800342143"},"directories":{}},"1.0.1":{"name":"async-deco","version":"1.0.1","description":"A collection of decorators you can use to wrap functions (callback or promise based) to make them more robust","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0"},"gitHead":"1cf8959fc48b36314369fcdd624175d6cb863578","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@1.0.1","_shasum":"836e445b3b28a2f2f2ae30cbf0c9384a281e2c59","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"836e445b3b28a2f2f2ae30cbf0c9384a281e2c59","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-1.0.1.tgz","integrity":"sha512-T0I/SemHBC7CELByN1yglkJnT9owx3ct78wDOYpa8fnv8Ypj77uAqAZv+ZfFR9wmJMkc9Z5FrzPrv7BjmZ0ZnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGGv0/37IgEGj0mUFRlGAfKVSyzSJpazd85KOkVvp4yiAiAWI4P+qDu8yurlOnBoSDxg2NX2fPI8pBrkHc85dFkCYA=="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/async-deco-1.0.1.tgz_1456068291417_0.12912862678058445"},"directories":{}},"1.1.0":{"name":"async-deco","version":"1.1.0","description":"A collection of decorators you can use to wrap functions (callback or promise based) to make them more robust","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"7c42430d0b370344bbd5ef2c59e2893437782930","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@1.1.0","_shasum":"cbbf0682a77033a83aadefc61819272ad997e188","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"cbbf0682a77033a83aadefc61819272ad997e188","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-1.1.0.tgz","integrity":"sha512-kfeQvrdCBYD0ri11z1gl4q0nDfPO+2b3BrXo4lJxkBKgwxY3t+qf8VpGKfa8NPg+iV8VeaIoDAdDYy5SwpFnCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF63iQNEoI4hH0jKj+prenCw5TKYt0xXFx4Kxk9rpAJQAiB9frNQmnxkdH5+7b+SmY8cS/jsOFn9alW6pGfVvB5/lA=="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/async-deco-1.1.0.tgz_1456179326147_0.4218135974369943"},"directories":{}},"2.0.0":{"name":"async-deco","version":"2.0.0","description":"A collection of decorators you can use to wrap functions (callback or promise based) to make them more robust","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","lodash":"^4.5.1","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"bc9bc7ca3e4b7e5596394a4ad57370d765d84cd7","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@2.0.0","_shasum":"61e83b3267036840fbafc4add963e950dac9c931","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"61e83b3267036840fbafc4add963e950dac9c931","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-2.0.0.tgz","integrity":"sha512-uEd/BI3VI38JgPB7q9wpSdhu5bUsR5+h5OYEx3U8C6/URo7q6LhqS4+KAOxXbO2tQijHiR1EQ2wFiSE1lrA+Rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoY668bgm4WrtZIhezIoqOCTFvuPzHBhIdhF5Ei1KUFQIhAP/sjhXRdFZPQu78m+qCUk0P2UhXV73IfjlDXvA5iUg7"}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/async-deco-2.0.0.tgz_1456356326330_0.963532896945253"},"directories":{}},"2.0.1":{"name":"async-deco","version":"2.0.1","description":"A collection of decorators you can use to wrap functions (callback or promise based) to make them more robust","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","lodash":"^4.5.1","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"d6b45a3de151a54cfc654fd7ce6f071364b1f336","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@2.0.1","_shasum":"126faa2a67d8026f4998bed046369f63eb52c410","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"126faa2a67d8026f4998bed046369f63eb52c410","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-2.0.1.tgz","integrity":"sha512-aUuh7PylEbzlpt5iL6izuuhdfbuCS7JHvpZfXaek0Sk1pyLF0oy17NmJYilC8U3U2KQSx+xB/XUy9VMrlsmfyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDhZbT1caNbA/MHS4z5fu3edhUtWpKbBHxoKh5u4SDhBAiAIhst67Q7zH7DeXbgT4c+EYiuOAYMv7zNu+VLTiZ/xIA=="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/async-deco-2.0.1.tgz_1456356396954_0.10029024071991444"},"directories":{}},"3.0.0":{"name":"async-deco","version":"3.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","lodash":"^4.5.1","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"6e620a68362cfa3a35b12d869689340391429c54","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.0.0","_shasum":"9b1d0f01c96c90ffb892ee6222ef1676895b10c5","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"9b1d0f01c96c90ffb892ee6222ef1676895b10c5","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.0.0.tgz","integrity":"sha512-EQgnAyOoMBISMXQylHGIGwVGLJXFkznK2tavMBlOQftY1gEHjw97QW1ZyIF1L0fVQMxNezoS1DjyjWdys8yWEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWW2QNzB1pd0+XQRweqpekglhmbsU+xD3y/fHiUx47vwIgNSCReR8sczpwSt2lg4lQm3UztD4iBTIxaF1iQLlagZU="}]},"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/async-deco-3.0.0.tgz_1456442400752_0.935102190123871"},"directories":{}},"3.1.0":{"name":"async-deco","version":"3.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"0ddaf89d5c1bbee58b1b43862d3478338d119584","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.1.0","_shasum":"7020248d52f036385fdc2de824e2bbc867cb560a","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"7020248d52f036385fdc2de824e2bbc867cb560a","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.1.0.tgz","integrity":"sha512-NPYO5MbjRieJynyWGf703YgbNQzjof406+wbGN+C78NgaClxZX5XA+shh1ICnDAHIa2O2cuLPKOb0cKx0d4Big==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDgf68PYcj+z2Kv/yOvUXO6JTyRtlOHMaok6MQpwaA6RAiBKur90t0N+FHvgLGednBeLLzrF3ACoVxXqLKPVP/X3rA=="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/async-deco-3.1.0.tgz_1456658005034_0.5266945187468082"},"directories":{}},"3.2.0":{"name":"async-deco","version":"3.2.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"325470d1002a206998645d6bea6b3542fa9cffd6","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.2.0","_shasum":"a99b79bc76758ba7a8fbd01492ae74334e597b09","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"a99b79bc76758ba7a8fbd01492ae74334e597b09","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.2.0.tgz","integrity":"sha512-uKwORPTQ4P0+kDqTndXnH8ivplFg35bSrwn2denb5KcwIgYbdPGZTmoxFyxBCpUuGJ9nBD+67DH2AoG3rbNfjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2hYYpM5114tH+5fiYsTHf7PIpEgkcT/vLjV1VEMq9SAiEA227GRnlMiwoxswVTomOs1+arP5spSapvVyN8WrDk/gc="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-3.2.0.tgz_1456956938337_0.1895480272360146"},"directories":{}},"3.4.0":{"name":"async-deco","version":"3.4.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"0.1.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"373018926a836df22ca437b7d390d538952a5358","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.4.0","_shasum":"552c5b056ad24549be22c31df4f57750d4d81a4e","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"552c5b056ad24549be22c31df4f57750d4d81a4e","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.4.0.tgz","integrity":"sha512-69in04i/4L7b66B3AklCJVqs+nr0gz0k8ujMf65TyyHZd0RuN7HOK/UXZL87NCj9u0anwqojQXyvK3awE++91g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXsb87uCQn+7f6n9HuYHRsXZthG7Rbh3X5LwwcriFo8wIhAIvXieNoSWbJK4TkzPfQnpIqkg/TEDanSJS1RdE2gMLQ"}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/async-deco-3.4.0.tgz_1457298012670_0.7502900680992752"},"directories":{}},"3.4.1":{"name":"async-deco","version":"3.4.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"d6ec2a0e06172d9cf060b3ba6b6c495a49f046b1","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.4.1","_shasum":"da33c9974bba42dfe30ad946d5cb823b56d2d500","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"da33c9974bba42dfe30ad946d5cb823b56d2d500","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.4.1.tgz","integrity":"sha512-/ZH0t8wCgnPH0YXxU245R89jaVk3Fj2Al4whNeZCsNEP4dFFIpQrRsnG+8pw/N9lU0wHUtp2bP2AeB7AWfSwoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlDXTw7fcrNJJa3r1B8N0Z95U+mDD904sZndAWod8tRwIgeWuySESC1o8IFJAnGyo1IR5Seq/15Vw/kwd/NvCvSVg="}]},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/async-deco-3.4.1.tgz_1457824140590_0.24973363522440195"},"directories":{}},"3.4.3":{"name":"async-deco","version":"3.4.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.1","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"c175e5dd8cd6ba19d9a65aac5d53b006d5b19c26","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@3.4.3","_shasum":"3f586b46c70702cebe127e0a639ef1d0b98d0993","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"3f586b46c70702cebe127e0a639ef1d0b98d0993","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-3.4.3.tgz","integrity":"sha512-42a3BQbW6gfIL+lBBC6YSp8XNHvu4FCgZOCcX6U+7MoPSL21TG340suE4mPt8v5w6BrN3QInviri3bzOIAJVDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKT6JGNptjUGXYmmgnFG++UFcmK2SnivB73tuqsSW/KAiByrxSfZxGl2hUGaDMAH6pAUbKi+v3luMMM/ucVXSHOvg=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-3.4.3.tgz_1457858662087_0.9961670676711947"},"directories":{}},"4.0.0":{"name":"async-deco","version":"4.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"729b9e162fbfcbf19609f0c3fb548e7f56a1c129","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@4.0.0","_shasum":"639d67263553e7eee1f03c93ff470e92f3d74845","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"639d67263553e7eee1f03c93ff470e92f3d74845","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-4.0.0.tgz","integrity":"sha512-yxjn7sDVY8EJfI7fgM+ikW3/zBkcm14OAVK1+et8mB7jjnXGHp82K/YpOuk4bsaRAWrxt2ZcfZyuHYmOj372/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDR2d2wrKHPR2nbSofKypWQQ3w2i1JSbeC4Pma1vmDCgAiEA73gfuVEWl8D2IjkdpmvZ8LHL95TkxfRT1Z1Vay9oVfY="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-4.0.0.tgz_1459788831057_0.8595783761702478"},"directories":{}},"4.1.0":{"name":"async-deco","version":"4.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"423c8f5cf2e528cc6845285dd660a48d22941486","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@4.1.0","_shasum":"a2651f5fbb17feff38eaa229003d7be103cfb9c9","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"a2651f5fbb17feff38eaa229003d7be103cfb9c9","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-4.1.0.tgz","integrity":"sha512-Fq5LySpnCEXKksIvBUHolIX+znAoeXweldoM24Q+CFi55JO6L/ptRs81UbOTmrO0kmGzdU9MyY+KIQ+UzfIcdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC026F4/MY6Pp2SDwylmv2GrpKa2GvHmqm1KjFFFcT4MgIhAJZGkRydUrWQJv82NDkdSyr2pb8FQ8V8giJ+c9nH5F4M"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-4.1.0.tgz_1460130314210_0.6580666904337704"},"directories":{}},"4.2.1":{"name":"async-deco","version":"4.2.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"5a46d7670d82f0f4dc7aa0f8e8a989f2919ecd05","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@4.2.1","_shasum":"01f765d4c86cda0ce6ecd9ef07e4e20508164e3e","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"01f765d4c86cda0ce6ecd9ef07e4e20508164e3e","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-4.2.1.tgz","integrity":"sha512-kA5N/blfA4WIS1kcvMpaWLpA8BmFe4D40I4moV4MzJh84OgrNW6G9G92w/RF65DBDiXU/IzMw+MdUvviO6JgIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICycYjTUW52BC1a9O4PBvdDq8yucsgtCLua0WELED9+uAiAijH7DsBWwOG0eweKdqtgfAPlITYTB1yP71yEqFMyelg=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-4.2.1.tgz_1460501323925_0.9918833090923727"},"directories":{}},"4.3.0":{"name":"async-deco","version":"4.3.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^1.0.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4"},"gitHead":"e3c88f95188679235438cece75535be62a18044b","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@4.3.0","_shasum":"2d16815f3fc71e1f56906346bb7bb9eaa50205ea","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"2d16815f3fc71e1f56906346bb7bb9eaa50205ea","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-4.3.0.tgz","integrity":"sha512-xMvCD4N8uejFrGAupYJaWioBiIoQsqyg+pzJA9GmIv4A4NUdDBDCq4s1uoAyJ6rilwo8rjlmSIaN4tGWawzkpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICf7DtAfu+MyNL26xRvECDSKm4Fmsi55o2/M7j0MngecAiB/MpQ4ETFlsUuDH2eECq7fcfvh1e/IjccMOoAz8W/CSQ=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-4.3.0.tgz_1461275445079_0.15877354983240366"},"directories":{}},"5.0.0":{"name":"async-deco","version":"5.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"89cf06f61e93d3658bcdd36047b997b94ac20a15","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.0.0","_shasum":"b0a1690f5a5a3de3c0fed1ed5548a94e6910e552","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"b0a1690f5a5a3de3c0fed1ed5548a94e6910e552","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.0.0.tgz","integrity":"sha512-DlKVl2y+UzZaLIDA2spBQCf2VebS6JHyT/PH/7NDIAKliqUvy7stk4J+wfR3aQswCGj+6nK9bdv7xqLXfQTqfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC+PD0tvCgK72rvKkwqedsPdAQjcb4dchN1f8dRC86T8AiEA9zxXDRaoA6eDjyRpeED85IVNxc00nMXkWLoCqQiRJ4s="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.0.0.tgz_1463039279693_0.5002311060670763"},"directories":{}},"5.0.1":{"name":"async-deco","version":"5.0.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"42ac9891d92e86635f3f8017d811ec9d72497f63","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.0.1","_shasum":"f57034126abe40df01f76f681b845f0b43b0d08b","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"f57034126abe40df01f76f681b845f0b43b0d08b","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.0.1.tgz","integrity":"sha512-gkTm0vKW2hElq6FfhWstGdHo5GXGjciGzjs56yXAvCijrZyiYXgEGvngqEM58O88nTvAvpCOsi+7A44BOutCeg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCizZWuCKnYKO4BR82IOVRnM8ZlnZCtOWbQRNlAil7zfAIgGZ4KV14Vknz73ZMWqOk+8Qf4g4o9dZiN+q4FWeAfNSE="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-5.0.1.tgz_1463521904518_0.34975075838156044"},"directories":{}},"5.0.2":{"name":"async-deco","version":"5.0.2","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"7f8415d89c43056c8e240bd0650e2258dcdf669a","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.0.2","_shasum":"db53dbdee2e7e5b7c4bf1782f674f2a8523b0d2f","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"db53dbdee2e7e5b7c4bf1782f674f2a8523b0d2f","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.0.2.tgz","integrity":"sha512-yPG3h0y4fwViMCAWhtSMmsJAEBnfVLC22hnKX/JhF0pv9ulg+NqhP4u6dodyIJ/6SDnpe8EJPQKOJdFR26oXUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRPLhqUpExu6+ZbFTEuvXLSu4BcEBHVuSAoenaJR/YNgIhALA4zOPhrZ9vOwz4RnkkfRqgOge1Nk4RvsuM3/6lun5H"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.0.2.tgz_1463522419548_0.42817620607092977"},"directories":{}},"5.0.3":{"name":"async-deco","version":"5.0.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"4746336488014ec8684a8504ce98a00f7db15543","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.0.3","_shasum":"64cfeda0e09f2d3dd31a3cf3746604b77f62d4da","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"64cfeda0e09f2d3dd31a3cf3746604b77f62d4da","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.0.3.tgz","integrity":"sha512-y1kys+CP3zTCUtoFx0u8aU9keP+MsKfuZeFR68hqEQ0oJCoD4FlrbgcH75w/nbX+VZCL3SplbaJEPpIf0W10Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDuAJeDUvP9s6szMN5juIf/M8I/9beHL0MltmwcbflHgAiA89qB8YCFiz3NHceFP4gkqXLwTzRGVMbZamobhnnU0Bw=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.0.3.tgz_1463606807273_0.18529646028764546"},"directories":{}},"5.0.4":{"name":"async-deco","version":"5.0.4","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"a90908080a9d8f8b3aea262a5548976d9fb69623","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.0.4","_shasum":"f1c9ddd1aaa199bf597e113ebf471627a0ca64bc","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"dist":{"shasum":"f1c9ddd1aaa199bf597e113ebf471627a0ca64bc","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.0.4.tgz","integrity":"sha512-RIRQ+ERhxeyXZ4SvKNuN2+0b72nzJJq03fFXz7u+7RGn/ffwLYTvaMTR5LYmI1GZYMs0t/O2dTqdwD52cE+5Vw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv+K+eQgXLVgtZ1b1vCbmhvyk2CyT01Dow2FveQ2PvtQIgd/qrqFA2ijQOMT9edYG7mQ7gZsIIuLno/lrvOzK0aYU="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.0.4.tgz_1464295932946_0.31973018660210073"},"directories":{}},"5.1.0":{"name":"async-deco","version":"5.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.0.0","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"cd1cd54f786d7be307f114846624cf31b216e39e","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.0","_shasum":"4238e16302f2e2671dafed8bd22ecd6d28c8a37a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"4238e16302f2e2671dafed8bd22ecd6d28c8a37a","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.0.tgz","integrity":"sha512-G7R6cean/1oE8BOaMkna7egjgMbhmOvKQZHD++M0XHlBL8+hLnPcJK5ocPXC36hycZ2doCIM7X0BHzM4Fb+IOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCzzrVQ+1cbvgAR7SpJ0XHSzgnuG698idpSmwAqVDawgIhAK4ZTMAsimDpWmWn0Tfora7sifuAafzZaAeUCabs8MJw"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-5.1.0.tgz_1465246434015_0.17271111998707056"},"directories":{}},"5.1.1":{"name":"async-deco","version":"5.1.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.1.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"d16c22ea8de6126e5117b1a9224ee99c69f849e2","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.1","_shasum":"114ebda8dce23ab5ed1ef2c50bc92c2b8e20777c","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"114ebda8dce23ab5ed1ef2c50bc92c2b8e20777c","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.1.tgz","integrity":"sha512-8cK0qY1VOM+b4Kwwitd8Ynt2m++qzUJP0H7KYGDFa7NREeFf027s+AonK2h6XBgkkiImlOHzb6zZDglFvMiXrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwSCI9VEEKIIKrlOKvHhQ9JOYVOcX+aWEuwMAIGVz89gIhAND18lgK5hW2x3x25KcDGGA7burANPpEpVRP1b5r7DbI"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-5.1.1.tgz_1465505948763_0.4689663932658732"},"directories":{}},"5.1.2":{"name":"async-deco","version":"5.1.2","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.2.3","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"1f95a43687d59c7994347cf6b389909a401d58af","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.2","_shasum":"ae3f609c60759e3ca92a0bef833aec5a3c908243","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"ae3f609c60759e3ca92a0bef833aec5a3c908243","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.2.tgz","integrity":"sha512-ya4O2Y48o6fkzhirPs30YZiVcqU44KXMbe19lk0BnPbajOZPBS9zP0HQEnjuc1yYZg81j8yXgPvT2C71ZQaOEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvNfyj87R28y4nd44pyd1WEjBv3UjfSFNfHt94BWx6tgIhAPc/cIr7o0/mjoIbVG1aVhVemFWVgk8arp/EOqQBb7xZ"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-5.1.2.tgz_1466023923710_0.34189189854077995"},"directories":{}},"5.1.3":{"name":"async-deco","version":"5.1.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.2.3","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"76f4edcb960460a9e35f4d2a46f0b867b58c4a79","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.3","_shasum":"28ac0066e592007a80758bbb1a0582080bc9d5b4","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"28ac0066e592007a80758bbb1a0582080bc9d5b4","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.3.tgz","integrity":"sha512-6Mwy6419TwYM6hQ4+Z7VmeEKQ/wj31RwZmrx5/1BVhrYkouIH3SihTkBn7W9rjmiTr1mRpajVu5rJoBf8LoXug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIwcuep75T6bx7qsRul1EG35IODrFMbHkTQ0HXq/93xAIgKvXp5GnukUZwqpt/D1b7M6GJ4YMypmhHp5nURkymIo8="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-5.1.3.tgz_1466024407410_0.5203547093551606"},"directories":{}},"5.1.4":{"name":"async-deco","version":"5.1.4","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^3.2.4","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"41b75af9f71ef7615b303ce9cb1ff81b52603431","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.4","_shasum":"26d66917888b0ab00539cb6f3bcc2e2ad4903339","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"26d66917888b0ab00539cb6f3bcc2e2ad4903339","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.4.tgz","integrity":"sha512-Yqr+GMzTCeNiCuUMJxLnyjDevYQTgjcZEh7lHlzCcPb+E9lRx9hQ6aaJe/Hh9YZpQe/3L9Dag+oHm7gEM8fmtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu/F4EJ2phFv4HfRgUTb/s7E/lGnDNxBjmBDyaCVvJcQIgcKap0kRGILmu/TRfP37Rsr2w93b8Ox3DCsco6Z0mPH0="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.1.4.tgz_1466453992963_0.42756403353996575"},"directories":{}},"5.1.6":{"name":"async-deco","version":"5.1.6","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","require-all":"^2.0.0","memoize-cache":"^3.2.4","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"6a0777794387463c03cd942220bb6704f65a411d","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.6","_shasum":"5c8ea01a1d949f7c2e6cafad2162b2ece1eee82a","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5c8ea01a1d949f7c2e6cafad2162b2ece1eee82a","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.6.tgz","integrity":"sha512-uAO58hgVgFc/efZSfd7YhbM9RRy7WGnCSRUFGSC510qD8KS+LA6p+D78lZfb/2MNIUMryTvKTB7D5zCgNIakHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeRN92g8Rla2jhZmSKgEDjX8C56rmEHmQ6Z6wXHedyYQIgGqbS/50BmiRKk9rbhhU7wv8Yqh/Qcy4wR0R3S9omGcU="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.1.6.tgz_1466610000117_0.7058891656342894"},"directories":{}},"5.1.7":{"name":"async-deco","version":"5.1.7","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"memoize-cache-utils":"^0.0.2","es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"1850d48c16dfd706856b000311e7cafa07d06bee","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.7","_shasum":"ae6132601e8cdfa1fa7f76d2158472870bed904b","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"ae6132601e8cdfa1fa7f76d2158472870bed904b","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.7.tgz","integrity":"sha512-PRf40MvZWvisVIFvpsG5US5pSHRibyOESWVg+pF1nLxNlSgSn85+b70Vn6OumnUwz24IIK1mzTnYQlhaQYZbFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmDXVUh3xaHa+LPWCoaYHJ91ITE1l9e1jKvK+YSiEMWgIhAPmSTuBBc7gi8gZpptkc9xCuNSyfIPTAfwt9zvu888oQ"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.1.7.tgz_1466667989407_0.4345999693032354"},"directories":{}},"5.1.8":{"name":"async-deco","version":"5.1.8","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"memoize-cache-utils":"^0.0.2","es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"164d3404104c8d7a49e40a2cc6b661203f53bebd","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@5.1.8","_shasum":"ce8580da81d2729eae5fe3970d06ef8190fe62c8","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"ce8580da81d2729eae5fe3970d06ef8190fe62c8","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-5.1.8.tgz","integrity":"sha512-d4Ka45ImcizWQzuPrSQeM/xadNvlb+EJNA7IwkFH+6fLSWFj2p7ru5WyPREPa/zwTunVz2vetiBxK2qwSnBDJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9Ya49shiPuIoQved/irMmZye2+8dH2SB2iHBTsyoLHwIhAJQRSwxpRoGrUSs5piN2uinI/ilGKVHwtAn60hqO1qj9"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-5.1.8.tgz_1467646073911_0.5356663893908262"},"directories":{}},"6.0.0":{"name":"async-deco","version":"6.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"memoize-cache-utils":"^0.0.2","es6-promisify":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"fcb339b6d8c1176c1ce651ba877d585e802430a0","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.0.0","_shasum":"ce463be2673cbd7063506400150c31b9869ffe6e","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"ce463be2673cbd7063506400150c31b9869ffe6e","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.0.0.tgz","integrity":"sha512-kum+Wi6d0x3PjnKwQN/dVDtfxbi1aXuzyKZgEbFWDFrncNl615+Z/j/NnvaeIj6M26PV0AgjtH3VOy96ClOp9w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnEUXfvX82CjcxJ5mMplaIHO1S7TUvNQcnQoIp3T7KKAiAnIYsNpQh+vjSoQM5rkOPgfcOdQBK3Oj73cApDrqQefw=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-6.0.0.tgz_1468394046483_0.1553659236524254"},"directories":{}},"6.1.0":{"name":"async-deco","version":"6.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.0.2","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"ba3feaa595ab6abe0c606897e4effa29be1fee7e","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.1.0","_shasum":"61828f476505c0fa8b6935ae2243e0bc89172ea9","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"61828f476505c0fa8b6935ae2243e0bc89172ea9","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.1.0.tgz","integrity":"sha512-JmnsKLIumPRkGO8PxxMvYukngtuyTSDE3b/Kx182faM87Xdm1YBZfzxkQSFV+AtFte2pBypbtpwT4ofEt/k4oA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFsdMv8MsDD/M2KnrirgStKMCtHzWMsUyFWOaTwwHuYIAiEAsWSEF7fXpwqXPv6W2a2/2CxOJTtx1nEqqyU+IOJ8QWc="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-6.1.0.tgz_1469133769650_0.44985764659941196"},"directories":{}},"6.2.0":{"name":"async-deco","version":"6.2.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.0.2","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"694765574ca475f99bf3ee3e477788c44565f088","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.2.0","_shasum":"303745011d0777e54149541294ba1c740875123f","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"303745011d0777e54149541294ba1c740875123f","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.2.0.tgz","integrity":"sha512-jwJ4wIDchT7jELLZqTgcDX+L2Dl7M48TeBVCv92psSR4dY1QXcoAvpvuVX4onYvQxy7xeftLHqOVl0fOnLZ9Dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXlzWrh+in98CB+fHy87zowshOJ5nEk/6Gjp97PvCEuAIhALhrrUjlhnjMSGdy5sSV2G8pFKXlIvGHMjNIjg6jzNY8"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-6.2.0.tgz_1469225179961_0.18176623643375933"},"directories":{}},"6.2.1":{"name":"async-deco","version":"6.2.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.0.2","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"3487d7295797662c9c656d49e25103d05604cfcd","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.2.1","_shasum":"35246587203b9c5d9633e51027c51e5b452a30d1","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"35246587203b9c5d9633e51027c51e5b452a30d1","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.2.1.tgz","integrity":"sha512-9gA7pEhE2VUzyaIKSGx+VJ8RghwiAtNraoixhp6GmPDYOg7c2mbb7eUg1CDHeoA67hNG/T7pYD6ufNRDAtOK1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPz1zVWbK5W/mnz5byxjRPmR0uL46bfmhi/oHCymfT+AiEA+7u4sgLrpwN7fX/30CBYpk4HMLVL5CjIkbDx1EyOZ9Y="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-6.2.1.tgz_1469260393571_0.037237347569316626"},"directories":{}},"6.2.2":{"name":"async-deco","version":"6.2.2","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.1.0","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"c2907e4e3dfc41184a0818340a2c54363a404552","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.2.2","_shasum":"3f427b97572e7114821e393d637b0cf2c94f179c","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"3f427b97572e7114821e393d637b0cf2c94f179c","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.2.2.tgz","integrity":"sha512-7b5qB5JTGJ/OT2cgkQ5Tyc/cRhkj0dE5PuuGBUR/+pj28h3YIfJIyJuH06SamQqIPu1HNM4mQMFqw1RWnKhcGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID7nrfrFqixo3hxBKghKP7qWCnJIpOZ7l+nCscAj6HkLAiEA+RPLhjThzTEZovLP2wKX/RNASjwz2OU87kkSRa4nIyg="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-6.2.2.tgz_1469567160609_0.0472982672508806"},"directories":{}},"6.2.3":{"name":"async-deco","version":"6.2.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"5d27fe3eac5232c67ce659fff5334ea8ec989d84","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@6.2.3","_shasum":"47f2ddf84fade89031606b24742a88bff219b503","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"47f2ddf84fade89031606b24742a88bff219b503","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-6.2.3.tgz","integrity":"sha512-WyBy29nNp5cwgRYN7Ph+bpTIr7y2WftERimHQHGGoz2oKeH81SBCETniYzpGxvmxw0Y+t3s++EegFq/GxxKSLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXvUQytzPcuTQKn9pw+BY7Ps3ayDzsdjWeq7KcLxEm7AiEAyHhw3UmzWcF9JcerUEmyLWnNmilsY7SCOZV2AjAbjxQ="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/async-deco-6.2.3.tgz_1471042748846_0.6650335537269711"},"directories":{}},"7.0.0":{"name":"async-deco","version":"7.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.2.4","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"a90604a027ad3ba03742f27214da7045e57a1af4","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.0.0","_shasum":"7868ff72d612b26d36ee45e14948df26c68c36c9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.5.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"7868ff72d612b26d36ee45e14948df26c68c36c9","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.0.0.tgz","integrity":"sha512-K2FTajHlhUf0PS+sLa3v5FqwXC5nBy/NXhsnSOMZb4uv4MCCu0m3u+ydz7sp46yFDiZCJufCjEED3lpP3IXpOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3dmEe5KPW/2vxsP+W/uCxW6PvLJUjrBeEQTnDJ2oL9AiAG/+pdJ8nzH2AzHaWWhoUfwhUGRxlo9gri57uXqYZNJA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-7.0.0.tgz_1474709982662_0.4047853664960712"},"directories":{}},"7.0.1":{"name":"async-deco","version":"7.0.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"06c0a41f5c55becc06db4da3e208cbbc0f73b585","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.0.1","_shasum":"04040a959e027e221b42a444a58503863f9c3083","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"04040a959e027e221b42a444a58503863f9c3083","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.0.1.tgz","integrity":"sha512-u7MPPn4O2oe6uoZKoLrqiX9MPUoFw+DQBMlFBOQooI15cRLdhwzwNHJ01rjgwuMZbzlBhV+csQT2r3NWO/aXGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKE/zZ+ejyO3GMmpVE7mZqhzoCdnVG/vY7d/wa5NO+TAiBOX+YOZiAdzpOwdA9drCJSF99UjQXdzd68FDiDRRGN8A=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-7.0.1.tgz_1478372064110_0.9309991614427418"},"directories":{}},"7.0.2":{"name":"async-deco","version":"7.0.2","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"34e58c92e2a4dbb96da89e2254cda6729764b17b","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.0.2","_shasum":"00358ba0c47bd759365fc9aa8f0a1ba0866a35ba","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"00358ba0c47bd759365fc9aa8f0a1ba0866a35ba","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.0.2.tgz","integrity":"sha512-lNSkVaYtEZ2gAicPT3N+wPM+0C+Fgy9LXTl312YmIpjZXUjDE9EpTATxOeMVyReKa2T9csqkErbA7T0oyly+pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSg0rmrVfMlGZwnw8vk9W5fZKWXQThp+lXuUNePd1HYwIhAJij2V7NbTtz/NBjUbnqzcTT4ZkGAysBHkkDzItl2rZD"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/async-deco-7.0.2.tgz_1478372497443_0.25435935193672776"},"directories":{}},"7.0.3":{"name":"async-deco","version":"7.0.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"cb0d4423fbe9c909dccb90f3b60b011be459417b","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.0.3","_shasum":"10e9b67d0d82f6fc6670cb20a2f510a816be980e","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"10e9b67d0d82f6fc6670cb20a2f510a816be980e","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.0.3.tgz","integrity":"sha512-JSHhRSA4HRq3zLaZ1Blb9g9ZVsGtus35iL89kYkoerp8lXe/Bxc4mN0UYcAD6Ce/TMPzYyda2ggLYZcYdPpFzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzM5vpICuliNvu93uyb96s6WED5gxbJ41ruJSM275pMgIhAL1lQS5S+14KxWZYRsTwWOWxnEXJ3ehGwdRAEslK4DUP"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-7.0.3.tgz_1478442637992_0.7047064965590835"},"directories":{}},"7.0.4":{"name":"async-deco","version":"7.0.4","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"daef8c42a892f83e2a293ca3dbf0e3b1a8bfdec2","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.0.4","_shasum":"a5fe100ff8f6eb709abad5217f266a40c1471e62","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"a5fe100ff8f6eb709abad5217f266a40c1471e62","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.0.4.tgz","integrity":"sha512-vGh0RbGjlrjyu3qkdWg65LYnwKvUeHyJk4ZfpxH28Q1tV/KAF122V9Nk3ZIWTGH/1x/PuZPKvYB2BZBQvb3OHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWovL4Fk9L/eJg+6+YBxYKaXvxIiZxuAxSjseraKsaZwIgSYtcmPshpz/OWX7/P4qsy/BcZQTpomtzsVLbMDlki3E="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-7.0.4.tgz_1487951702702_0.8415907132439315"},"directories":{}},"7.1.0":{"name":"async-deco","version":"7.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"9f49318e1e2ada44f398331041db148d63c9a89a","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.1.0","_shasum":"5985bd61e3758bb6ac2a75e8775a4c23a48b9359","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5985bd61e3758bb6ac2a75e8775a4c23a48b9359","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.1.0.tgz","integrity":"sha512-FudDKpAhX63TnEVS8EGckkDTLCJ0uecmwpkxDAQUvsUvMUA7LdiV1RWjXfg1A6j2zIB1zewYBudeIIZnsb0elA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDspWzQWnI8az//NHncCWAIhVaBG9jcF30lLCxHXA4j7QIgO7cW5exuZGKhl/SxZwEvfLe5sI9F+wO6y9kpIxtRnNE="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/async-deco-7.1.0.tgz_1492968364528_0.1740573146380484"},"directories":{}},"7.2.0":{"name":"async-deco","version":"7.2.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"9ff63f6fb24d5f3fd843e889ce1ebf8522bcad48","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.2.0","_shasum":"68b3a452f73ba808c0afb52a4fa72df8ab973348","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"68b3a452f73ba808c0afb52a4fa72df8ab973348","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.2.0.tgz","integrity":"sha512-CewW8vp0QM//GkMw99I0S9jzejoIWHocAaak5j+pExMaqrLiPzR8IdDTpKCH/7J5M+h2zZctxZ17cd4JoZ4WNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCg6UIIUZYQB0diM7/vD0Feg/9vC9KXUx+GYyyu38A3TQIhAMdzwKfHlDFe/H/tVJhIdYsfOuF3ucKtnxnrd9WtLEPB"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.2.0.tgz_1497569620479_0.8155943593010306"},"directories":{}},"7.2.1":{"name":"async-deco","version":"7.2.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"a3af4a92afae32b121bd47e21160134945545f79","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.2.1","_shasum":"ca9ceabb27cdc8846a91752eef410f6bbcd64ae7","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"ca9ceabb27cdc8846a91752eef410f6bbcd64ae7","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.2.1.tgz","integrity":"sha512-RyyO5oIb8ms1aYk0Em4NX2qIW5UN+N93wIDSHXd6XnwWR0mp5X6trzUuAu/an/315CkN3kKOhvJWtiEaSlP8Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCO3Fx8QQsySS4PsE6pDBzu+csW77HUyrbso5yjPDWHSQIhANj9TVQ5+d497YRU6vlUwiLGAGaGTCSaROnHRyPFOhOi"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.2.1.tgz_1497645643585_0.8795232849661261"},"directories":{}},"7.3.0":{"name":"async-deco","version":"7.3.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"b57f92a2b9d7f93df91572c117044b2831adfd12","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.3.0","_shasum":"46782103593543375b0cb198bc20f4beca7badf7","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"46782103593543375b0cb198bc20f4beca7badf7","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.3.0.tgz","integrity":"sha512-kmnHVN4dHvcUDlkHbkJ7Fl68Vne203Muoa42kWDyGg+OcMUZ109R11DHKE5LUn7MOzc6deQx4uQwK3yVmqG0TQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChR/YiiWXF48vvmWVq/Pda1gssSS2by/gqwPxtb3LgjAiEA44BhgrEkI580C8ZplO41yrAliivcP6TrmLpZwBVcW6A="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.3.0.tgz_1498252836951_0.5895916109438986"},"directories":{}},"7.4.0":{"name":"async-deco","version":"7.4.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","occamsrazor-match":"^2.2.1","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"36973c7c3f306481bdf27db178be0c171f9359b2","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.4.0","_shasum":"5e9059b699dbd61739eb2d7a5f499e2330e723bf","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5e9059b699dbd61739eb2d7a5f499e2330e723bf","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.4.0.tgz","integrity":"sha512-WdWN+YBo8VTjNS6kYTGUaBJ1ixcel2uzbF1jghFck+8ag355hQjuC/gV1tgSV0dbpDkExHEZlHJOUMzlUXFOZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHXho3sFcvwLpji7KlxV4kZ5ZjpDKHDzfNthL1YhfPwmAiAdzRY6q4LzYIBJ4lPAnjioyIrCo1alyIj1LVMxzp5CSg=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.4.0.tgz_1498255873810_0.2873562390450388"},"directories":{}},"7.5.0":{"name":"async-deco","version":"7.5.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","occamsrazor-match":"^3.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"cba2f621026bfcae067295c76e33003def6da015","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.5.0","_shasum":"81e3eadb9443b68a9752b8129be35322e9862496","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"81e3eadb9443b68a9752b8129be35322e9862496","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.5.0.tgz","integrity":"sha512-vQ06DcB934S4sG8SNB3HTadN7luQ4jUT5W+GiUWL4Ixl7WNkpWLvqfsC9l5x0/uGXJG0dL8i/EY+07NRgTON4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMPvA2c07/bh5YJx4kMi66jcbuG4O6ygqQ2Dlo4yPS/QIgHI9vuLPgeL5CxJNyKd4bee/ztTlcWTwpBulvnCx5pcU="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.5.0.tgz_1498346559774_0.20273218723013997"},"directories":{}},"7.6.0":{"name":"async-deco","version":"7.6.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^3.3.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.2.1","lodash":"^4.13.1","memoize-cache-utils":"^0.0.2","occamsrazor-match":"^4.0.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"78317e6b7f928fd29b64d28d797179dfcab16439","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@7.6.0","_shasum":"22306c836b40e451aed0c20e79bc50d0034a88ad","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"22306c836b40e451aed0c20e79bc50d0034a88ad","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-7.6.0.tgz","integrity":"sha512-fC/rlaXydmugYv8rcylOYpeha+EEIIo5lPEsqDvn8NZMSFoHReI7Ju1vxi46pfvkPT7yj0CA6Q+BENFIx/NJYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD7J+YZfhxOwB0ZyZKKlLGXBZUF0B+nfsFxm4EmX41+0wIhAP+h3TIcMi8OymrveWrPG3SwYHCmhPcTB4ncqXB72Ejf"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-7.6.0.tgz_1498594785432_0.8401519781909883"},"directories":{}},"8.0.0":{"name":"async-deco","version":"8.0.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^5.0.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"027fefc10936b4816111f4b1cfa95f81edd35ad5","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.0.0","_shasum":"5afc83a297353c289f7965a9a064737eb9f90437","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5afc83a297353c289f7965a9a064737eb9f90437","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.0.0.tgz","integrity":"sha512-qO0OcWXpey+T1mGpnbT2X5tn9LiP9O0O85k7x9zrvDEEoVAqFBc+WZz/Z/nLpxk0KYkQMKoPk5mRFVFK7H8bcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGV/QApSaktD5iRsjtly/J3iXGmX8NVbMVqDEBJqYetkAiAlvqvYLtBULKE6MAmgYQpA6nOnwghnhgh+VzdhJVdbfA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.0.0.tgz_1502919202196_0.17667775345034897"},"directories":{}},"8.1.0":{"name":"async-deco","version":"8.1.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^5.0.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"9f4ba64d2efcb1025e6cc7cacbb5691c43a375e9","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.1.0","_shasum":"5ac03a28b0ea809871fdecd4521059980bc7493d","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5ac03a28b0ea809871fdecd4521059980bc7493d","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.1.0.tgz","integrity":"sha512-aC0LWokpttUHrUDtZ/9zDgq455iEkas67YjIyk6BRiCynHyK057y5QVpSZkX20568sqkZw5XUiob9ELROO3X2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaOEAAR01f6gyA4aSDio3rIESL7TqpOZ25t2aiW5E45AiEAxxfjNE2gk2ecdXcRZyLRK28lfJAaV5chAMrq8LOoE+g="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.1.0.tgz_1506442094671_0.3811664553359151"},"directories":{}},"8.1.1":{"name":"async-deco","version":"8.1.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^5.0.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"05e204d0a73154fc23468a4124bdeb7dc169d803","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.1.1","_shasum":"01daa17f3e372ab7528029a78b8e903e91647e10","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"01daa17f3e372ab7528029a78b8e903e91647e10","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.1.1.tgz","integrity":"sha512-71SPfKFrMJ64gXDk/XALOjlwOI7EDGtyN1x/1QffGevEmL2QcAxH5mgbE0FSNGFJoQbKqZrHMfV7rLl8mx1K2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFeXLZYP3wYSX7sEfHc3G6FhFDWTacsCvPcVHw2pZQThAiEAr7Jih5sZaXur5LDTdUvQj3jq+Dp5BTvi8tdQ3+P9gRk="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.1.1.tgz_1506548767928_0.24667651043273509"},"directories":{}},"8.2.0":{"name":"async-deco","version":"8.2.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^5.0.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"156fe47060d3c3fabee868fe6b8ccfa36bf97c96","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.2.0","_shasum":"a55bb504213accb48e5aa7cf725b8f04f3d412d3","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"a55bb504213accb48e5aa7cf725b8f04f3d412d3","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.2.0.tgz","integrity":"sha512-tCZA7qbQB8tH9VFdIRNfZrTJlm9mbMMlTANEYTOxor0zc3zUN0LMcBMJJuIrIsAgWtlYdTTgDoXrLS74Hysjsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBe0NdOnMUtRpd2tgZTlvp8XIPkcpyBJkyjnFiOqzPvwIgezbvCUtb5W04bL/6jIfe5/SwvRSvJfDCg9/9VIMwMxc="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.2.0.tgz_1507153794690_0.0676612751558423"},"directories":{}},"8.2.1":{"name":"async-deco","version":"8.2.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","mocha":"^2.1.0","memoize-cache":"^5.0.1","npm-release":"^1.0.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"60bfc370c430bb1d022fdd0856d84d400d0e6c41","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.2.1","_shasum":"5dc31c8654bb3052d85a9cb6e043f9da6bc45902","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.8.1","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"shasum":"5dc31c8654bb3052d85a9cb6e043f9da6bc45902","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.2.1.tgz","integrity":"sha512-U2vbaO1Sglroe/155Mp/u8+iQPfn5VeULMhjidEKRC/rxP+T9nIxZq9Gbq0PC3CBVkGAzfQqeyNaoU2N67eiUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmoXoYfogUp1VyzwwuxeYc6bLQ5wtaW1fPWqdV+79FtAiBzX08xr27A+tvwKV609F8GzdSIoBxHfUiIOMi5mqIr6w=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.2.1.tgz_1507156950900_0.33722172188572586"},"directories":{}},"8.3.0":{"name":"async-deco","version":"8.3.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --ext .js ./src ./tests","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^1.10.0","eslint":"^1.10.3","husky":"^0.10.2","memoize-cache":"^5.0.1","mocha":"^2.1.0","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.0"},"dependencies":{"es6-promisify":"^3.0.0","little-ds-toolkit":"0.4.0","lodash":"^4.13.1","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.0.0","setimmediate":"^1.0.4","uuid":"^2.0.2"},"gitHead":"96bb83921e61edf5851255672dc39b4f66f1cb4d","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.3.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-yAryNaI4MoLslGGLOOLN9uChckBfB68aeoYqSfCTvuJgd1spC/l3+PtCAAIWaOC4K3ncIWigAu1fgQLm3io+6g==","shasum":"666541e8b7f0075f8a13b16f538dce378d18bb05","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFle0RvWTu5U7ezU9OKLvRsOgGX2kmx96MSh0fHVl45QIga7gzJm88YLHwR21epil5TQTN47z4zuCemCByxhvXxIQ="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco-8.3.0.tgz_1508707800808_0.07523806346580386"},"directories":{}},"8.4.0":{"name":"async-deco","version":"8.4.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./src ./tests ./callback ./errors ./promise ./utils","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","memoize-cache":"^5.0.1","mocha":"^5.0.5","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.2"},"dependencies":{"es6-promisify":"^6.0.0","little-ds-toolkit":"^0.4.0","lodash":"^4.17.5","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.2.0","setimmediate":"^1.0.5","uuid":"^3.2.1"},"gitHead":"f2b89c291e08ee90bc33d6cc3d6f3c9f8df20904","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-h02cOtA6jT91Ct0EN0mZ0RewwbKp4YUePcQ7fQOKmf/2DxOJPu5OvqMBoE/vshqOlbzY8JHLSofg26Q/5KEBnw==","shasum":"987fdf8336082290b8d047f460c733f8fbfc6750","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.4.0.tgz","fileCount":141,"unpackedSize":172972,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYpSra4T6GS4kXfYul9Tf8ZCTcK5YbBWi/xiP6+NuXcAIhANhcpXoWgqWC4jIPaNZ3OHIB9jxdm8Iw8LlS9A4IxucK"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_8.4.0_1522137113285_0.8967262858771987"},"_hasShrinkwrap":false},"8.5.0":{"name":"async-deco","version":"8.5.0","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./src ./tests ./callback ./errors ./promise ./utils","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","memoize-cache":"^5.0.1","mocha":"^5.0.5","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.2"},"dependencies":{"es6-promisify":"^6.0.0","little-ds-toolkit":"^1.0.0","lodash":"^4.17.5","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.2.0","setimmediate":"^1.0.5","uuid":"^3.2.1"},"gitHead":"a6ddefc44e8a9062148ec8ee64778257a4cb23cf","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-euVdCPvpqLg/fSOI4pAHlJiYS93c5sF/bCWy654IaHfOukGTyc67fKtvLmmw+TbuPI84ECiQz3sBOLAvt5LR2w==","shasum":"7c480f5509a611e0a48de018359606f95ee90abe","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.5.0.tgz","fileCount":141,"unpackedSize":175653,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa0504CRA9TVsSAnZWagAAZpQP/0gjU43oLfzVY2RLc7vR\nVdG8JS8gp9IeG5ReM9u10kaf+3+osResbl4slyQUyaRq4tpwYRQiVRFlTUYm\nJVAZH+kKG1SzulPjzFp6Ilnh10NLgY3AaFnkUWPBGn+q+tzbWWBQb3M65zbt\nqRxBZPW5IvrfiE6KRDl4bFIxXxDWGKFtPcoh9W+jDwUk8iGSXoLHDuAzDyPy\n+p4NpofFgag73FsTcj57nw/gTYmzS/tI0/Tt6d0Mj+t7IKqY3YZpDJ+KR1Dv\nMlbyOsbXcw9XfsfetUzzN/sLUiTdqMZuROmZbHYyckYjtFZMIKmoTdzflqfG\nWbMYg/S/2uUT8RPAql2Q5//Vvdh702QHIwNnRyx48sywBT5P6mMjT86sKdZm\nt0ny3m1WG62sdhy6nbiiotGVZsrZy94KdGVAWAlR3DYkRCRc851qqgQl0E9/\nOPUc3qrLLLl18pPIz02zh5QTcZbqRg6l4EiMvEbrs+L/ZzJoBJ+H7anR+dh1\niHTiklf4G9YKThTNlmj/EK124F69x24z1N0kEIs3IaHkwlIkYv/wAGisVxCA\nmKma9jqQO5LBNh4Qnu+qqIndIyNWKDYEi7pmZ8BgmWZdnwigbc9P3/WjRqP8\nJV57/JR8dtALT/l7qXbS3bPiGQ/cLr6aD1KgBSYgeMl4YzNmJmWUhSD95f4B\nD3qq\r\n=QWcP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDcchVJ5HBDee0H4T6kMnejfC1WlE9d2Cf9jDbg3+NN2AiA6fUIQ4DoAuiT5+hCgOLPzNkuDkPXLSIwS+8IPjnkG0A=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_8.5.0_1523817781551_0.11437516541715564"},"_hasShrinkwrap":false},"8.5.1":{"name":"async-deco","version":"8.5.1","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./src ./tests ./callback ./errors ./promise ./utils","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","memoize-cache":"^5.0.1","mocha":"^5.0.5","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.2"},"dependencies":{"es6-promisify":"^6.0.0","little-ds-toolkit":"^1.0.0","lodash":"^4.17.5","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.2.0","setimmediate":"^1.0.5","uuid":"^3.2.1"},"gitHead":"382d8926f8aaa38236299508b0766e7ea512b868","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.5.1","_npmVersion":"6.3.0","_nodeVersion":"8.11.3","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-ICFKMrz7O1rWwnGga8FftS+pbGPgVbzpPkP9SIDxvvCp98aNl5f8CVLmw1qRQymwo1j69CDcAsNh4A1GMArP1g==","shasum":"c615987aed9cb95fc5661af50d6a6b34e78b91f1","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.5.1.tgz","fileCount":141,"unpackedSize":177550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvf8PCRA9TVsSAnZWagAAvAIP/0o8WuyEkSMtFxH2znjq\nCZnVXxQLJNqfkUX1cvBy+HAA9Ox/zDOI6Qy1S27QXLe3xftkjjimpvtumRlm\npS180epd6cZCX2VFKm79U9JMLMV/yoNfDd+RDIaAj5dtBs68B+4AMmrxRd+B\nVIb34UPhrjPkt01q0DXHKGN6Emo7bynzW6ZwKN44f80vUZzQjcMmUXdZVPb2\nQlraqLB7ZG/IFtfTB8ATUOsn6KwvDPHnibFSGIj7ON22s8XPpbyQ9KDL/fjO\ncLpykeFY3q+c8bBQ6cxUuewKYqZML98h/cpqJFYJ5c4rI3zp1aghVSK5ED79\nR8k2uWbn/sdsbgMOranOnWIiM9o6rKrlpCCoxcFIl9W4zWy2mMcjSfinIPMl\ntdn825T+c3zBvnUZe0LZJMCZVOXvMeOpBtAExZH1P3qIEyOo5qDGm5fDQRu9\nUFKDmy8NmbRUlM2OZ4s43aHg2KBaKgOxCPuj+4x1uUbDhPLRRLsgnxatIwc+\nKHGuqxm37QHLTv37DPGXhsj7VUo7UeiY7sGx8f56ExmVFcWb21JU2/3GmTys\nqdyuBzyPMk6yiCv5qrl4vl/T0EcObPUZTHcIjUNCLiYcXyNQjHBBFdgWdpur\n28kNvaAjxxW6NXcXDppPF2W0p/KZ5N9l9M6znwkVNDE7A7GMsjtJDDGwBXo4\n/Mtj\r\n=cW4Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwCA96a8/oqsc738QXrninTR8urfpoRb7iJFE5i9xHZAiEA638FMMkWmjK+Jm3PopAlTbZgsqupJNKBiCI2lIpNC4k="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_8.5.1_1539178254511_0.566275757051226"},"_hasShrinkwrap":false},"8.5.2":{"name":"async-deco","version":"8.5.2","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./src ./tests ./callback ./errors ./promise ./utils","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","memoize-cache":"^5.0.1","mocha":"^5.0.5","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.2"},"dependencies":{"es6-promisify":"^6.0.0","little-ds-toolkit":"^1.0.0","lodash":"^4.17.5","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.2.0","setimmediate":"^1.0.5","uuid":"^3.2.1"},"gitHead":"382eac95a4958731496b312152e6de67d8ebc11a","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.5.2","_npmVersion":"6.3.0","_nodeVersion":"8.11.3","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-W88KdRQUUUH1WGDaVJzD3Ub+T4+j50KwAxyJwfbQ+GBPa7R0CML9AD45Z40sFr+eUk5P+RYstgQBRc4p0r+bkw==","shasum":"333d57032bffbdb24af19adf557e3cb853050101","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.5.2.tgz","fileCount":141,"unpackedSize":177545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzb28CRA9TVsSAnZWagAAPREQAJQ6eYUE0IIQbEAiKN8J\n7ZFDhg09T2WqyarkSGuzhLhLFQisnTsND+Mu/Xmqk9WDnlWOkwe9VuWebTsi\nwro8uYFIZnAptCMJ/Bckw2L2wYC0tbwfc2hnXkkz57JB1zDmAwZQt1n1wgtk\nEHjazTbTSSIViQ+MUpcPLD5dEO7w6M74p0hiGyIRdz6IZcxbQ0A08UBYRLtA\n+zdTrVP0x7g6EJcX/n/JWmylCbSRZlULBphyDfkZOoLN4uF0SamE9Q3R/Wpm\nY14SSA6794z2YMqnORWz11J0STRcBvyVMl6IfsxfycRIGgCnz22MU1Brpgvx\nNnwK4AM+SP21W30Dk1SB+0oNGMGzIP+IsnRAIAX8WXa8FRWpa3oOqEbpjZGY\npkUqRSKhAYdpmxEcS8ZlUir4r8gkJZJPbub3fWK+r7DAD5XVGo4OOW5snZs4\n/8rgwgNdcPnVhRQlY4S7Ix9bnh30J2w8F9NA4E/8Os9LWSLwobD4v29HkM3o\nGmAYDiedi2HlRfaovUw8/KDLqlTEMQEBRk/PmYe8gDjcuxUs6qulL4JOd9vQ\nPVEYiiD68jD0nlVXs2V6w7SynWpkVZMiFUFW6laKP1LnG3Hrrjo4YF1gGeGX\nnlhGwtzBNmU4HNDw6mjjCePUxRhCuB/ulzFXVW09/OkcXdB5FKFu0vCeFb57\nEv1p\r\n=MVia\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqGXKpItiiys68qZFNxh29j3fAy6DKtRWEvw7MQCnPqQIhALn3ErUO/HEnW4Q49NJ2EM1H3Epouj/w9z9iDzq2E7z9"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_8.5.2_1540210107948_0.5861610450646004"},"_hasShrinkwrap":false},"8.5.3":{"name":"async-deco","version":"8.5.3","description":"A collection of decorators for adding features to asynchronous functions (callback or promise based).","main":"index.js","scripts":{"test":"mocha tests/**/*.js","watch":"npm run test -- -w","lint":"eslint --fix --ext .js ./src ./tests ./callback ./errors ./promise ./utils","release:major":"npm-release major","release:minor":"npm-release minor","release:patch":"npm-release patch","precommit":"npm run lint","prepush":"npm run test"},"keywords":["callback","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"chai":"^4.1.2","eslint":"^4.19.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-node":"^6.0.1","eslint-plugin-promise":"^3.7.0","eslint-plugin-standard":"^3.0.1","husky":"^0.14.3","memoize-cache":"^5.0.1","mocha":"^5.0.5","npm-release":"^1.0.0","redis":"^2.8.0","redlock":"^3.1.2"},"dependencies":{"es6-promisify":"^6.0.0","little-ds-toolkit":"^1.0.0","lodash":"^4.17.5","memoize-cache-utils":"^0.1.1","occamsrazor-match":"^4.1.0","require-all":"^2.2.0","setimmediate":"^1.0.5","uuid":"^3.2.1"},"gitHead":"bfe22ba4135c4b25018f5119e1799a3b46c03616","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@8.5.3","_npmVersion":"5.8.0","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-yjmT477Seyx8R2TIZVqOZ5M7N67+VclaZv/PZhsSYnMGOfVBimDYDMC6h6uLWwz5HTRgbkw0JGtVSBur5p81rQ==","shasum":"0060cc894fcaaf2ba78d2fd266f10d58982d676a","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-8.5.3.tgz","fileCount":141,"unpackedSize":177561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzdLBCRA9TVsSAnZWagAAZ+QP/0UjCT/cQ+/Xyxm6t5Pn\nv24g1lzHAM06IFKRZaovw4E2Zr5JLXKOgyO+Pzk0ftwW6sk/dUWcSM/7VP5K\nPtMp9tZW4Wgh3rtg1UKyapxgW7JwFLFJK2c0EHU1IiMe6U5935vmLW0Hd1sU\nmnW7Ns3Yf+r9+B+cNF7x1Gjz0kIWjO15/XB7yiFgN3986JkVU0vAHhkt66sE\n8E4EGmAASmeIb0j9WJxLoAIMbh1xXbhinUSeENdgD33NqqWH+/c6R/5rJaQ+\nINBmto9jWikqaRm8+waa9cJLNHFyktALXTgWpcj7ABVbss4/JyXBpkkkFWKY\nFhewnBvKANxJsRUJwnbDphHEDMswh8KExGF25MrQTiPjibqGGytxjfMV1GxQ\npcrVNbK3BoevyuDgSA0c4iRViXQ3NcnXQI/Q9Z1VhJHWANgZsvqtvEuOUD3W\nlIXCHPQ1CnwZThSKiEpUq2tzE+Wc4ArQNLWiSBfpqkR6f7Qr+QT6biKF5K7o\n5jhMB8NEt4OiCl1O85u4y85TDYTZps02hCy1x3oQR6j+FM4BCt1AVkt0AOyL\n3ik8VKSH0Y1JUy+wxcs4AunEyobFeVg+f0SrckxjXXbmxAZVNqPSkbI437no\nsnGtntnqLA4S1oH27lGQ2ct9eICocs6PSg4WyvQC+dfufqol6DyyVAUoWpg1\n9VBI\r\n=tW0R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDY0jnj5V4baxKb0fyp89aDxfcKA8UTHkuCrL2zddyvgAiAFocpcUislmVRkYg8lsEmcoDhCjKOrQSo0QWaduivBaA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_8.5.3_1540215488999_0.1815344745967462"},"_hasShrinkwrap":false},"9.0.0":{"name":"async-deco","version":"9.0.0","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext .js ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"dbc604def31cdbe07d2a1579fd665cd464cfc3f8","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-swtR9YH5P801pG0wPP0q/I6mHDvZJgHFG4Inx1YLhBg1BzwZIYzgdBGunbWrqwC2CIhLh5PYlBUXsBk+WAQaRQ==","shasum":"e82650584660bcdf6d908bcfb1494d3a3a12e884","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.0.0.tgz","fileCount":104,"unpackedSize":167592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8dbeCRA9TVsSAnZWagAAySkP/0WlAZ86pfoK/oVh7j0B\nV+4b3cqoa8tdhbBo8/oZPWPKAS5AWV0dAG8oujUq24Q9MapGRS0JwlDC5gXN\n5OEzx/1ilike/2tX9HE6HBXiPoV5bKhetaDCaLgboQ5jYQFP3QYmPhydiKT2\nGV936R5FHjxE0kgrxdhw3/voPpM9bu+eFasB+4iAIU4GpEc3CbJkT3TB628N\nhB66f2uJg+J3B7BGyqXq9Yk2CGishqUupcajw1i+F82DhAo0kHofG+TuHkQu\niHxoQBecYDjHKCeuVbrJFc3q+9tPyPLw2uzAo6PWOkfeSQAV1PX86avW1GyK\nhYsnGU5IPIf/qLM9ELAT5LqQzTgNoLTnZnOzBYX7GcMswiwCuGejLIJ4GTnA\nHBTbXGGhmFT0oI7/HpKWNNk1p3LVCTQ1XwitZyF2ecD264VMcM6/Jt/0z314\nQUOrNeYRTY1htSlR+cseaaS45QLyGKbPSlUk9ALUUcavsb8DTyu16JO8k3IF\nC3bSV0JynR2qYZwngVEtJ6PammVa1/BBRGTRC999UusypXAMaMKP1KmYOqzL\nDapqrZWyHsvz59B3ZfMcWNNlOc6Fcn6kt/H4o4XLUxlryadfnW1vMUKw8iIo\nO+nPZYIiZ0PyRkq9RQZmW61xuPGUAc/05666RiJrpp9L87wMx8Y+zDpLp7mq\n6S7y\r\n=Gnl3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJdM3z03lyDYi2f9ThQFLYW/7SK7bQHzsDrcf3vI/ZuAiAgOQ6OychOZ9TjYQVfJMceYOs+wHEJ92OsgF8BmpZ8KA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.0.0_1542575837730_0.48715312938360644"},"_hasShrinkwrap":false},"9.1.0":{"name":"async-deco","version":"9.1.0","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext .js ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"b5774d2cbff5d1d45c5348fe9e54101bd5d94139","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-651t8Ea5vQ8zEmb8TwbG+O7wGYiVGWLUFZ+sxAExdbgikdKxOjziMNbTKi//1MBAQsmM9hAkH49J9DHr6J1asA==","shasum":"ed57da65083a74dbf8f5d4e22e6cd4945830db98","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.0.tgz","fileCount":114,"unpackedSize":191760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/AO9CRA9TVsSAnZWagAAlZ0P/jhmgHYqyvacWbPyGCBQ\nxXL85bSue4a+vfch77aE+i30iyaXkSYE+KYN81fVrm2kwG0tNKUP1vs1OHDW\nxZ7qD0Cz9Jk4oDF8/C63gXvfjRPYWzSTIMyylSJ8oopQT668AyzpscXOYT4S\nO/FWVKB3Tbl9GoxVs1z4etLcyDRTJ5usieWuKg08UiKLZEThri6cyjlGn/0Q\nW4vSAPDa0hxfd5DhLngx2Aze6Be3amh0Wn4JRZatO2KTi8D8MdTujVoDyhlF\n3FBLplwE9pieee1mfYckGSTogZEjiEPfyYGUIdq3/YyOzEbn/ILOPhrw9JRw\nfiZx/EQDlqYkhDGj8u09WGNhKfTyrPNIieDaKnoqXAurCUpg68Ef4syTQLei\nanWgwuHgxr+yof6w/VRc7VaAE/JkPFLxYHOoO0UVxMIOp/3xziSWyI9WWYBC\nouNsy8DPjTsudyCgBAuxeJ+QRS3qHuGKoOcV0R6ixEOA5JWGruj0Ohm+2bgT\noTbMYBZVUI8GIGo/l8l6dJ4Aj3ZanI5IXZT1yeykKIUT3YHq8mA3R4X+z8Cp\nlOyFQ5cqjVq9N/ppTODaCPVasu0bFifazufcgXbMfZcqEZ+IxFreyrtyR2/g\nbnhT8Nr9yDsNPHhQJqqu0ofPTAZdhCaiIQOEixhgvJkzuKD0tQYCqN8C5zbo\n3WIn\r\n=3T75\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4Xdwqsh116FX50BqM4ITTMZNrGhlBn0QgVs0oD2Td7AiEA/8/l2Cnf0sn8DekfgmRLMIbtfbFjEehcKZ3kgZhNARs="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.0_1543242684804_0.23720990590044155"},"_hasShrinkwrap":false},"9.1.2":{"name":"async-deco","version":"9.1.2","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext .js ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"d03058791364c5de09f2cc473096ec6a80363bc3","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.2","_npmVersion":"5.8.0","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-DJGnzuaebLzlBDt2WbVTEttpuw+e7GV42ATPid+EfYnJnUTkO3AD847DcNi33nRFXKvHVhGAjUUpmimCsW/lRA==","shasum":"9ea63966b1ca2d9fe88bd5543b4c4ee8c596a34c","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.2.tgz","fileCount":118,"unpackedSize":202736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/AdnCRA9TVsSAnZWagAAtr4P/1twYPI8lhxh27ANJ5be\nkjwY/vl+LsQravX1ApRrIEnS3wkOHh97u+mtbPtFj+EOfqp5jMeml65gpZyY\nYXiDVWCJf5QvVo3JQ0WWZQHh8FzZyOetR3Jxoq/ofD6YgyyX9KY1HCq5Upz3\nqxEYCVGpb8ov2qXaD1krHs/N5jJ53qXZ+MVyZM63kPcBuy1F5LoFTQe4KkjD\nxI0aHMsInVyCvs90mxXcaosoLpLBEMKbVu4Xv5dSaGmHSRhop3ot3wx6POqq\n4sfftLPXOAlGRAxPK9btfgUL7P8bgi2p0OkE2unIthiEC2lPR0s71mJw+sE1\nYHParXXHyCX/DPhIsVtFJhFspuzJ61aeFyEq5mOK3xelJcQ3GF4lFt5TyK4T\nr73MTxmXoZWPM7eIAqJ+sTp/vFB63Cn/kgzjrC/H7jtcz6S+VU+EchZJ7yUb\nu3S1jF7AVL/3s2aV2bpIMjMbfYW1ExF7kOikbobzNZXtGGPWPi5GvNOxKsn1\n0w4vyIGn9We3+3/R4mqEiHjx/NbB+tROIZGzHcc+QkpFj3RxLGQXeGjku2Oe\nYguQYU/nK3ngTIYjLLBfopHd2wCZDD7dXQl2LmzCWQYWvmbOC0i0BSV/mCDQ\nCwixbMylejJZr1GYfQUyKPsQz3ZysxrqpN/vcrtG9GqQjNBRLnRy0d3qjtXK\nnwHQ\r\n=Hs9f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcge/8ySWEcUiKUSaTYK/3K8ikl/TGHaP29VYFyWf+QgIhAN48RSPHHWV1oRaMKQQjtot6jrmLelr2QefgSPsZP32/"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.2_1543243622957_0.9066635071378921"},"_hasShrinkwrap":false},"9.1.3":{"name":"async-deco","version":"9.1.3","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext \".mjs,.js\" ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"e71c960ee9c6e77708a87394dffddb776a152ee8","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.3","_npmVersion":"5.8.0","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-94MLOjHFH9VD/MOpF0c6NromgdpD8Hu0Li6HnUSze7VG1rxxH0PjhQJMxRRh4skx7JX11Yu+wBSA+9bWHc4VjQ==","shasum":"6b9ba7b61855bd1c854dcb654a7993cdca2fe56a","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.3.tgz","fileCount":124,"unpackedSize":218477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/AmtCRA9TVsSAnZWagAANdAP/0b69jLp2mR//cU/GW+J\nntiaixJpbU7In01mYH12Tri+XAhB3xy393B4iDVhR4CNt8XYeJLdwL57Uc12\n5vzU2p9nrBSXOe2PE/QHDv/J7V8VSsfBMOjMn8v+8RcA017Ba037RgfudUC5\nFlKzlxvYoOgA98vvHw1aBVJ45EevYK13/m+eoa13MKKj2lEIXHRAoWHb7RAI\nb95y2dxzhVq3PDZrGt+1jq2ybV8xLIHAo+yLHfjeYz8MtoJUD82oC1AygtZt\nagSjKITNKWunUpS2mJ8I/3b15HhkVL0VOVE4nE5n92KDTeKrpBrmmIM6BjnH\nrajEK8MkQ/cigSHNyMKPQpOVa/CWMqn1MirwdfQh7ftSJhoQoEtG2O/Uy43B\nozbhOF8CuPeFzj9NqZI1UwY5OsTSgRzSdnrfNs9Y9c9BEJNW1dF10xLIdRKa\n0QPUMq/3rVbTkbKXUH8sLjXzrx7nS6Z/ytZlGMVqX1IG1DkHT2x6241fT8Ap\nrQSEqq3NmweJH9J1QPyrNC8zViMsHF+YjcuFu49VHuuo/yshD/SkHvE8sLGD\nKfpr2B7KJn7D/TUwiIXS0dJO7rYeZSO9+XPz6ryju20NJVumZLjumTvro80T\ntSGxxwuW+ZBni8BTVeHg0CNzyaaPOVRgZL++dQiJK0NhE7dFA16WNng111uz\nYqPg\r\n=39D3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQ4FwqC4GcnWu2kAceD87IgctkflY708UQqaW2B9aPJAiBP6U2YiAuluHi9XJlB2/eU/Za3RywML/nyAEMR1P8rCA=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.3_1543244204839_0.7752476191727111"},"_hasShrinkwrap":false},"9.1.4":{"name":"async-deco","version":"9.1.4","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext \".mjs,.js\" ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"45b97dab4aae86394039cec6d382b2bb9d2e92a2","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.4","_npmVersion":"5.8.0","_nodeVersion":"8.7.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-gPtnnn1Wm7olCeLkdi9yfioLnkcSUeghGrxDX8BIMlwerzVTAndYSQJ692r6rhmrrA7iM6WDiJYErYQvbrkY+w==","shasum":"2cab47e35430ee3b08e98789a991a69cc9a1c676","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.4.tgz","fileCount":124,"unpackedSize":219342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/A9rCRA9TVsSAnZWagAA1CMP/iH5zBKoGjsDvlyhK/EX\n4c+4jHuaXOvwGAhqPhwKRiLh2O0/psLGzH/9vyTbGAI6ZaSBTnRrQRSNa7Tg\nBXmJY+z8M3KzLvfqDSnxaxwFHvRP2bRNg1f1HOIrYZYgCdKUG+8GNxgA4gJW\noMQHiNtR+pUmAjafVEv7pLOEwGAgJ9ZoUxUPMi0VpzNQh/UnJdOX40kEw+iR\nhEDzngD0Xkcg1zxQhwouTkOT4BY7BJ73hjOkWhaz2G5u6NouuVUB+BW42qYX\n4DvT0PLtKH11vkH0AYWTdCyWs6sNhYgNpPFecbcv/wWLVa7WV5JMjwjZx1U2\n9KYg+Y7GSEEDzgh+9Eslj3rmrWr+8zBNJJ7Cl/1LqDYI5qLzWm6ZS3Iq61B8\nlkERdKhvmaeIuwffxWKfMtfbhvwoRqbvuHiwIbi1yr2XQ38LySe0fPZLa8NB\ngyUyrZyxlJGrHAflZxhkKjnUpAjTyOskZBuwe5T+zQGbxZB4z/Qci2gknh+t\nQJDPM3WrX1Qx4QDmfDDsqoeALULpOGSRb37xHiGGn4YxIPQCZ3uTq67IWOWd\nrramXNfQMiveOQCkvKS/3E9Lz28qeOqQaOZZwue3z2ZZVp1pRjtKCTZJPBUb\nW54p6tC46fF2yCl44FsxqTGICKxlHGKftSaImxeDsN61KIJqt0RmBnhaiHvn\nfSNp\r\n=BjzT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVhGjkczB2JUmolWx2O/pn3ZwXKgPnT+McldrwefstvAIhAOXQjTa+WepcL9gaCgFn4RhrVgBeicC9oeXfgBsa923c"}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.4_1543245674761_0.21005490640853086"},"_hasShrinkwrap":false},"9.1.5":{"name":"async-deco","version":"9.1.5","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext \".mjs,.js\" ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"598ded5d5b28c00577520e038b2feb919bcd9411","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.5","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-zPK0mgJBE+eqxdZiL4NbV9S1cst/W7iC2yIuyBVnZ4Nrf8vO3PA20+5m24rPt6BZY3hQZWKeZXT/PiHZU+j6lA==","shasum":"b1e0f8afce850915c3fc4bcc17560c33c79c835f","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.5.tgz","fileCount":124,"unpackedSize":219536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCmklCRA9TVsSAnZWagAASWIP+wXwCUQIjrmBVKrKs4Ng\nbTrFedlCkQtdijTJ4K8tBJqHZm61Q3KBl6Mr+fjqPNj/yehw7nkvIf0A/3Td\np2CqJnUF7bh0VLvoWlV/G51Wr0ziLO6rslMcFHTG3lqHVShmQusGVnLzUgvC\nbz8BZvlEXu3D2FUJxu5CWqh9WtgAskFsQTw8qrhlBkegUyqI9Cuoh1LPBAl7\nz6MF5vLqqRFVXIC5rj94jcAEcDFEHAt99pXrKRhc91m89fdiE+kl4jfzCmhr\ndyEaXsI2Wt5lshO+OqyT5wipfnatDT61BUoslPbf9Npx7/bx3dZozoqm9Ii6\nJ7GQ3iT+rDJS3fJQZBcHQLzbf5HdBGTzK++yHsIANNNH/7NY1G+OBQ4V+d2Q\nKBErszlA6WBWTkYlOcP94NLSg57U8i7/grW5+64RI4Vg9IUEr2eYaTme3Jg/\nnm/o5/oByQEjpcEZFxMfMDb333mfebLum58107EJ6E6toe7S9Y900JgggxVE\nRWJt8jZM0FSsvamGc1NA50Cm9bzA2HdFKggkThpIy5ICUnPvZ8HDLZLPVUzj\nw/C1wVdbvcKITrmnwXvp/GqvSMKJfg8OuIee/kvYa28XWFgpAztbkRdUPvQf\n4ntee+FDbgUn0ICFle7IaT/qzMZt1zibF6/7Di/9z71tt6i/0FHKcdyuj8Or\n7RCh\r\n=IYYo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQI+WcPSduxxriEtxMTU81UWM6PdVeU2cPSiuXcVu+ZQIgLFAJcRBdrEugBdWTwC0BkOHMtru5w7mMMwr7WrharIY="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.5_1544186148726_0.935743965699873"},"_hasShrinkwrap":false},"9.1.6":{"name":"async-deco","version":"9.1.6","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext \".mjs,.js\" ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"4de3d26e02ab06b782220d1b850de4c704fff885","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.6","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-hJVTBKpTH/rQxxAdNYuV5iDldn5bBEbQAeINqiyZFxHt/EC+7QdxhKTScax8tzqH/Tou67gHQQgHQQPeQ4CR/w==","shasum":"c7e65def39d9244264c4f8cc8b91a10db6752f28","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.6.tgz","fileCount":124,"unpackedSize":219536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/6yYCRA9TVsSAnZWagAA8YcP/1rfXiqaJ43Bk9dv/I4n\nfrwzu8zzCbHptTjmBH4m570v4yEtNmpeIB8xsYTT4wTQIgMzvav5kO8ULZiA\nQNU1wMxcmFFDTJnTKwlW2g/iJ29dUXbwrFvLwzJQpNkI2Ajdgn6h4mgg3rLz\n8BpYvz8VnM4KcYZpjM1iH41nJoYeDh8dy7WZwty2L73oWuYEhqySUM5F8uRH\nt/ynEciyJzasu/IYOfd+jxOlntV+b1Pq/6pdPIJi3j6fzYOR74sHivwEJMOf\nkS1WB2J/MU30qbspjP+hTvvmeH8K+R+QEJ7l//kVpYasxECfug0X0CUk9HNP\n5/bPiXQWEEyg7w+tL0wwpCjgeESKNKv/3BuYzdSWVkz9GyH89rKYOlIrcaT5\nISgGiIN8WjtAeA8o9yPcmRWQx9N9UPNmKc6j0lECfPO96AaL48c19QtKz/sD\ng4NfZFWT/99iMAFXiAzy7VLlf0f06I7zb3FgyLt8W7MzhAW2W3lNTBNT7DQR\n1XkVqdYXhhqKBc+SdEWTDPxOAZww5mhrH+b4VBUNePvr5GEoYkBx5Vm28qbA\nkDqsK8prg86cGzE8h7hyauGNmNK5UXmI0PYT4aQPddn5e+g/QQx00+lPl2hN\nPmOvhJOHZ5iPNKJmzJgyCwvvHWbCl4s7QN8Z3f+L+HFbsXOI8e1BgCTdVeH+\nXdGG\r\n=+Kpi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBBiXs9itslKbVTW2UF5/CHbvqNgw9TWeZjwsngL90CUAiEAoPXWI9NCbmJMd4wNXAOdyLl7BKfHSDDxWamSpcPdnGk="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.6_1560259735644_0.158688782632757"},"_hasShrinkwrap":false},"9.1.7":{"name":"async-deco","version":"9.1.7","description":"A collection of decorators for adding features to asynchronous functions","main":"es5/index","module":"es5/index.mjs","jsnext:main":"es5/index.mjs","scripts":{"test":"cross-env BABEL_ENV=es2015-cjs mocha test test/utils --require @babel/register","watch":"npm run test -- -w","clean":"rimraf es5 es2015","lint":"eslint --fix --ext \".mjs,.js\" ./src ./test","build":"npm run clean && npm run lint && npm run build:es5 && npm run build:es5-cjs && npm run build:es2015 && npm run build:es2015-cjs","build:es5":"cross-env BABEL_ENV=es5 babel --keep-file-extension -x \".mjs\" src -d es5","build:es5-cjs":"cross-env BABEL_ENV=es5-cjs babel -x \".mjs\" src -d es5","build:es2015":"mkdirp es2015 && copyfiles -f src/*.mjs es2015","build:es2015-cjs":"cross-env BABEL_ENV=es2015-cjs babel -x \".mjs\" src -d es2015","prepush":"npm run test","prepublishOnly":"npm run build","precommit":"npm run lint"},"keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"license":"MIT","devDependencies":{"@babel/cli":"^7.1.5","@babel/core":"^7.1.5","@babel/plugin-transform-modules-commonjs":"^7.1.0","@babel/preset-env":"^7.1.5","@babel/register":"^7.0.0","babel-plugin-add-module-exports":"^1.0.0","chai":"^4.2.0","copyfiles":"^2.1.0","cross-env":"^5.2.0","eslint":"^5.7.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","husky":"^0.14.3","mocha":"^5.2.0","redis":"^2.8.0","redlock":"^3.1.2","rimraf":"^2.6.2"},"dependencies":{"core-js":"^2.5.7","dequeue":"^1.0.5","memoize-cache":"^6.0.2"},"gitHead":"f901df89d79042c5cae567ac23e002b4477313a1","bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"homepage":"https://github.com/sithmel/async-deco#readme","_id":"async-deco@9.1.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"sithmel","email":"maurizio.lupo@gmail.com"},"dist":{"integrity":"sha512-Vhyw5iK8CnN1t2IOeB2jhe7XS4rLt9q6F9AE4wKhFMuNB3PQLz0xwmcZ+hZuN3j+paLtxjzFOQ9suz3uqWnegA==","shasum":"2e02410e33e15da05aefa5f5e05fb613fa7d7311","tarball":"https://registry.npmjs.org/async-deco/-/async-deco-9.1.7.tgz","fileCount":124,"unpackedSize":221465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3QWwCRA9TVsSAnZWagAA2UcP/1JDMjDkO+iaWgQwA5am\nCTf5WMQrPbVNKNhmXut5jppGm5vxa3ekexrLfsGJoqmiJT7arXsFODjGra0F\nJIaPj93nWJNGXUyi1Sojcd+Fl5vgLNyKPmW3s7NhjGpUzgAgIX3CVkKIvyqn\nxhoUwgd85K5WOb7tSkF0NlxHHovuoJQwKMTdZXxYpa3CLD2XbiP+Vpea6i9n\nDHVgQ7T+W4KWaxhGg2ca1SSa2t8Aa2iArTVJWFxs2sNCC8+kQYM6TG3O5H+v\n+5UrfqnVKxrAPaO1whYf1dudcZT0Bf2m/YZ01qa57NMYlhqXyMf9uiaDNgui\ncrBIBtgSAcYmLtYi9ziWBfM24ad+0afINtoy5UOPaHpLNVe60g9qch2o9c0Y\n/eWKLXHu3OwDtUEaIVv/yhJue8DboACrtjLqKv5LqNcAIU/9USfQIJd0WiAf\nQheuGxeaV8VbVopOFsrC267gbE2ttrbQy5a348h4vj5Yzl75yvH/rg/NMfau\nza7IrM7N7UW1gDtXMmRC9sb0/zKmhV7NSw9WbgMpmHmG19uGxwQuALDkACeg\n7GfaBGxxxeeCHPcCYIB5ULIKwjCz5vWi34pcT8hUOzxlEc2+ptzYmUmPZlTt\niF2P4k/rBqf+U4ThP5BWhJet9RyKm+JBPJI2xS0eGcDmUavFGfFWMxhspFLw\n7OnM\r\n=74Nu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpAEGwIlGmFtLMvfwq5s5LTGAbh1+ZgHxnoT3El5mZEAiBs1AbbLW+aI+kFH/GTTC+Q0x5W35CZWfo/YN8wyslmew=="}]},"maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/async-deco_9.1.7_1574765999452_0.5835684126188783"},"_hasShrinkwrap":false}},"readme":"# async-deco\n\n[![Build Status](https://travis-ci.org/sithmel/async-deco.svg?branch=master)](https://travis-ci.org/sithmel/async-deco)\n[![npm version](https://img.shields.io/npm/v/async-deco.svg)](https://www.npmjs.com/package/async-deco)\n\nasync-deco is a collection of decorators for asynchronous functions (functions returning a promise). It allows to add features such as timeout, retry, dedupe, limit and much more!\nThey can be combined together using the \"compose\" function (included).\n\nHere is the list of the decorators:\n\n* [addLogger](#addlogger)\n* [atomic](#atomic)\n* [balance](#balance)\n* [cache](#cache)\n* [dedupe](#dedupe)\n* [fallback](#fallback)\n* [fallbackCache](#fallbackcache)\n* [guard](#guard)\n* [limit](#limit)\n* [log](#log)\n* [memoize](#memoize)\n* [onFulfilled](#onfulfilled)\n* [onRejected](#onrejected)\n* [purgeCache](#purgecache)\n* [retry](#retry)\n* [timeout](#timeout)\n\n## Javascript support\nEvery module is available in 2 EcmaScript editions: ES5, ES2015 (native).\n\nThe individual modules can be required either using named imports, or by importing the specific submodule you need. Using named imports will include the entire library and thus should only be done when bundle weight is not a concern (node) or when using a es2015+ module versions in combination with webpack3+ or rollup.\n\nHere are some examples:\n\n```js\n// es5 is default\nconst log = require('async-deco').log;\nimport { log } from 'async-deco');\n\n// es5\nconst log = require('async-deco/es5/log');\nimport { log } from 'async-deco/es5';\n\n// es2015\nconst log = require('async-deco/es2015/log');\nimport { log } from 'async-deco/es2015';\n```\n\nNote: **file names are all lowercase, dash separated. Module names are camelcase.**\n\n**All decorators are designed to work on both node.js and browsers.**\n\n## Decorator for asynchronous functions?\n\"decorator\" is a pattern where you run a function on an object (in this case a function) to extend or change its behaviour. For example:\n```js\n// decorator\nconst addHello = (func) =>\n  (name) => return `hello ${func(name)}!`;\n\n// function to extend\nconst echo = (name) => name;\n\nconst helloEcho = addHello(echo)\n```\nWhere addHello is a decorator that enhances the \"echo\" function.\n\nLet's see another example:\n```js\nconst memoize = (func) => {\n  const previousResults = new Map();\n  return (n) => {\n    if (previousResults.has(n)) {\n      return previousResults.get(n);\n    }\n    const result = func(n);\n    previousResults.set(n, result);\n    return result\n  }\n}\n```\nThe memoize decorator can be used to store previous results of an expensive function call, and can make an function much faster.\n```js\nconst fastFunction = memoize(sloFunction);\n```\nThe decorator pattern allows to extract a feature in a function.\n\nThis library aims to give a set of decorators that adds useful features to asynchronous functions. For example this decorator waits a second before execute the decorated function:\n```js\nconst delay1sec = (func) => {\n  return (...args) =>\n    new Promise((resolve, reject) => {\n      setTimeout(() => {\n        func(...args)\n        .then(resolve)\n        .catch(reject);\n      }, 1000);\n    })\n}\n\nconst delayedMyFunction = delay1sec(myfunction);\n\ndelayedMyFunction() // this takes an extra second to execute ...\n```\n\n## Logging\nLogging what happen inside a decorator, especially if it is working asynchronously, is a bit tricky.\n\nTo do it, I use a \"logging context\" added using the decorator returned by **add-logger**. This logger takes as argument a function used for logging:\n```js\nimport { addLogger } = from 'async-deco';\nconst logger = addLogger((evt, payload, timestamp, id) => {\n  // ...\n});\n```\nThis decorator should wrap all the others.\n```js\nlogger(decorator2(decorator1(myfunction))) // You can also use compose as explained below.\n```\nThe log function is called with the following arguments:\n* evt: the name of the event\n* payload: an object with additional information about this event\n* timestamp: the time stamp for this event (in ms)\n* id: this is an id that changes everytime the function is executed. You can use it to track a specific execution\n\nTo show how this work, here's an example of a decorator that uses logging:\n```js\nimport { getLogger } = from 'async-deco';\n\nfunction exampleDecorator(func) {\n  // note: you have to use a named function because you need \"this\"\n  return function (...args) {\n    const logger = getLogger(this);\n    return func(...args)\n      .then((response) => {\n        logger('response-successful', { response });\n        return response\n      });\n  }\n}\n```\nAnd then you decorate the function and enable the logging:\n```js\nlogger(exampleDecorator(myfunction))\n```\n\n## Composing decorators\nDecorator can be composed using the function provided. So instead of writing:\n```js\nconst retry = retryDecorator();\nconst timeout = timeoutDecorator({ ms: 20 })\n\nconst myNewFunction = retry(timeout(myfunction));\n```\nYou can:\n```js\nimport { compose } from 'async-deco';\n\nconst decorator = compose(\n  retryDecorator(),\n  timeoutDecorator({ ms: 20 })\n);\n\nconst myNewFunction = decorator(myfunction);\n```\n**Note**: compose applies the decorators right to left!\n\n# The decorators:\n\n## AddLogger\nIt enables the logging for the whole chain of decorators. Read the description in the [Logging  section](#logging).\n\n## atomic\nThe decorated function can't be called concurrently. Here's what happen, in order:\n* the \"getKey\" (passed in the option) is called against the arguments.\n* If the result is null the function is called normally\n* if getKey is not defined the key is always **_default**\n* the resource called \"key\" gets locked\n* the decorated function is executed\n* the lock \"key\" is released when the function returns a result\n\nThe default locking mechanism is very simple and works \"in the same process\". Its interface is compatible with node-redlock a distributed locking mechanism backed by redis.\n```js\nimport { atomic } from 'async-deco';\n\nvar atomicDecorator = atomic(options);\n```\nOptions:\n* getKey [optional]: a function for calculate a key from the given arguments\n* ttl [optional]: the maximum time to live for the lock. In ms. It defaults to 1000ms\n* lock [optional]: an instance of the locking object. You can pass any object compatible with the Lock instance (node-redlock for example). If not passed simple in-process lock will be used\n\nIn node, you can use a distrubuted locking mechanism to ensure only an instance of a function is executed, across many process/services. Here's how using [redlock](https://github.com/mike-marcacci/node-redlock):\n```js\nimport { atomic } from 'async-deco';\nimport redis from 'redis';\nimport Redlock from 'redlock';\n\nvar client = redis.createClient();\nvar redlock = new Redlock([client]);\nvar atomicDecorator = atomic({ lock: redlock, ttl: 1000 });\n```\n#### logs\n| event             |    payload    |\n|-------------------|---------------|\n| atomic-lock-error |    { err }    |\n\n* err: the return returned by the lock\n\n## balance\nThis decorator allows to distribute the load between a group of functions.\nThe functions should take the same arguments.\n```js\nimport { balance } from 'async-deco';\n\nconst balanceDecorator = balance();\n\nconst func = balanceDecorator([...list of functions]);\n```\nYou can initialise the decorator with different policies:\n```js\nimport { balance, policyRoundRobin, policyRandom, policyIdlest } from 'async-deco';\n\nconst balanceDecorator = balance(policyRoundRobin);\n```\nThere are 3 policies available in the \"balance-policies\" package:\n\n* policyRoundRobin: it rotates the execution between the functions\n* policyRandom: it picks up a random function\n* policyIdlest (default): it tracks the load of each function and use the idlest\n\nYou can also define your own policy:\n```js\nconst mypolicy = (counter, loads, args) => {\n  // \"counter\" is the number of times I have called the function\n  // \"loads\" is an array with length equal to the number of functions.\n  //         it contains how many concurrent calls are currently running for that function\n  // \"args\" is an array containing the arguments of the current function call\n  // the function should return the index of the function I want to run\n});\n```\n#### logs\n| event             |    payload          |\n|-------------------|---------------------|\n|  balance-execute  | {loads, executing } |\n\n* loads: loads array\n* executing: number of the function to execute\n\n## cache\nThis decorator adds a caching layer to a function. It can use multiple caching engines. You can follow the respective README for their configuration:\n\n#### cacheRAM\n[memoize-cache](https://github.com/sithmel/memoize-cache) (version >= 6.0.2)\n```js\nimport CacheRAM from 'memoize-cache/cache-ram';\n```\nThis is a full featured in-RAM implementation. It works in any environment. It can take any value as cache key (other engines might have different constraints).\n\n#### redis\n[memoize-cache-redis](https://github.com/sithmel/memoize-cache-redis) (version >= 2.0.1)\n```js\nimport CacheRedis from 'memoize-cache-redis';\n```\nTo use with node.js, backed by redis. It can take only ascii strings as cache key.\n\n#### cache-manager\n[memoize-cache-manager](https://github.com/sithmel/memoize-cache-manager)  (version >= 2.0.2).\n```js\nimport CacheManager from 'memoize-cache-manager';\n```\nIt uses the library [cache-manager](https://github.com/BryanDonovan/node-cache-manager) to support multiple backends (node.js). It supports all features except \"tags\". It can take only ascii strings as cache key.\n\n#### Use the default cache engine\nIf you don't specify the \"cache\" object, cacheRAM will be used and argument will be used for its configuration. Here's a couple of examples:\n```js\nimport { cache } from 'async-deco'\n\n// the result of the function will be cached in RAM forever,\n// no matter the arguments used\nconst cacheDecorator = cache();\n\n// the getKey function will take the same arguments passed\n// to the decorated function and will return the key used as cache key\nconst cacheDecorator = cache({ getKey });\n```\nHere's a list of all arguments:\n* getKey: a function returning the cacheKey. By default it returns always the same cacheKey.\n* maxLen: the maximum number of item cached\n* maxAge: the maximum age of the items stored in the cache (in seconds)\n* maxValidity: the maximum age of the item stored in the cache (in seconds) to be considered \"not stale\" (the fallbackCache decorator can use stale items optionally).\n* serialize: it is an optional function that serialize the value stored (takes a value, returns a value). It can be used for pruning part of the object we don't want to save\n* deserialize: it is an optional function that deserialize the value stored (takes a value, returns a value).\n* getTags: a function that returns an array of tags. You can use that for purging a set of items from the cache (see the purgeCache decorator). To use this option you should pass the cache object rather than rely on the default (see the section below).\n* doCacheIf: a function that takes the result of the function and returns true if we want to cache the result. By default it always returns true.\n\n#### Use a specific cache engine\nIf you define the cache engine externally you can share between multiple decorators (cache, purgeCache, fallbackCache). These are equivalent:\n```js\nconst cacheDecorator = cache({ getKey, maxLen: 100 });\n```\n```js\nimport CacheRAM from 'memoize-cache/cache-ram';\n\nconst cacheRAM = new CacheRAM({ getKey, maxLen: 100 });\nconst cacheDecorator = cache({ cache: cacheRAM });\n```\n\n#### errors\nIf a function fails, the error will not be cached.\n\n#### logs\n| event       |    payload    |\n|-------------|---------------|\n| cache-error |    { err }    |\n| cache-hit   | { key, info } |\n| cache-miss  | { key, info } |\n| cache-set   | { key, tags } |\n\n* err: the error instance (from the caching engine)\n* key: the cache key\n* info: some stats from the caching engine\n* tags: the tags used for this cached item\n\n## dedupe\nIt manages multiple concurrent calls to the same function, calling the decorated function only once.\nIt can use the \"getKey\" function and execute a function once for each key.\n```js\nimport { dedupe } from 'async-deco';\n\nconst dedupeDecorator = dedupe(options);\n```\nOptions:\n* getKey function [optional]: it runs against the original arguments and returns the key used for creating different queues of execution. If it is missing there will be only one execution queue. If the key is null, the function is executed normally.\n* functionBus [optional]: this object is used to group functions by key and run them. The default implementation is able to group functions belonging to the same process.\n* lock [optional]: this object is used to lock a function execution (by key).\n* ttl [optional]: the maximum time to live for the lock (in ms). Default to 1000ms.\n\nUsing redis backed version of [functionBus](https://github.com/sithmel/function-bus-redis) and [lock](https://github.com/mike-marcacci/node-redlock) it is possible to implement a distributed version of the of the deduplication. Example:\n```js\nimport { dedupe } from 'async-deco';\nimport redis from 'redis';\nimport Lock from 'redis-redlock';\nimport FunctionBus from 'function-bus-redis';\n\nconst lock = new Lock([redis.createClient()]);\nconst functionBus = new FunctionBus({\n  pub: redis.createClient(),\n  sub:redis.createClient()\n});\n\nconst dedupeDecorator = dedupe({\n  lock: lock,\n  functionBus: functionBus\n});\n```\n#### logs\n| event          |    payload    |\n|----------------|---------------|\n| dedupe-execute | { key, len }  |\n\n* key: cache key\n* len: number of invocations\n\n## fallback\nIf a function fails, it calls another one as fallback or use a value.\n```js\nimport { fallback } from 'async-deco';\n\nconst fallbackDecorator = fallback({ func, value });\n```\nIt takes either one of these 2 arguments:\n* func: it is a function that takes the same arguments of the original function. This is invoked if the original function returns an error.\n* value: this will be the return value of the decorated function if it throws an error\n\n#### logs\n| event       | payload |\n|-------------|---------|\n|  fallback   | { err } |\n\n* err: the error returned by the original function\n\n## fallbackCache\nIf the decorated function throws an error, it tries to use a previous cached result. This uses the same cache objects used by the [cache decorator](#cache).\n```js\nimport { fallbackCache } from 'async-deco';\n\nconst fallbackDecorator = fallbackCache();\n```\nJust like the cache decorators it can either take a **cache** object or the cacheRAM object will be used with the options provided. So these 2 are equivalent:\n```js\nconst fallbackDecorator = fallbackCache({ getKey, maxLen: 100 });\n```\n```js\nimport CacheRAM from 'memoize-cache/cache-ram';\n\nconst cacheRAM = new CacheRAM({ getKey, maxLen: 100 });\nconst fallbackDecorator = fallbackCache({ cache: cacheRAM });\n```\nIf you use this decorator together the the cache decorator you might want to use 2 additional options:\n* useStale: if true it will use \"stale\" cache items as valid [optional, defaults to false]\n* noPush: it true it won't put anything in the cache [optional, defaults to false]\n* doCacheIf: a function that takes the result of the function and returns true if we want to cache the result. By default it always returns true.\n\nFor example:\n```js\nconst cacheRAM = new CacheRAM({ getKey, maxAge: 600, maxValidity: 3600 });\nconst fallbackDecorator = fallbackCache({ cache: cacheRAM });\nconst cacheDecorator = cache({ cache: cacheRAM });\nconst cachedFunction = fallbackDecorator(cacheDecorator(myfunction))\n```\nThis cached function will cache values for 10 minutes, but if for any reason the decorated function fails, it will use a stale value from the cache (up to one hour old).\n\n#### logs\n| event                |    payload        |\n|----------------------|-------------------|\n| fallback-cache-error | { err, cacheErr } |\n| fallback-cache-hit   |  { key, info }    |\n| fallback-cache-miss  |  { key, info }    |\n| fallback-cache-set   |  { key, tags }    |\n\n* err: error from the decorated function\n* cacheErr: error from the caching engine\n* key: the cache key\n* info: info from the caching engine\n* tags: tags used for storing the cache item\n\n## guard\nIt executes a \"check function\" before the decorated function. If it returns an error it will use this error as the return value of the decorated function.\nIt is useful if you want to run a function only if it passes some condition (access control).\n```js\nimport { guard } 'async-deco';\n\nconst guardDecorator = guard({ check });\n```\nIt takes 1 argument:\n* check [mandatory]. It is a function that takes the same arguments of the decorated function. If it returns an error (it can be either synchronous or return a promise) the original function won't be called and that error will be returned.\n\n#### logs\n| event        | payload |\n|--------------|---------|\n| guard-denied | { err } |\n\n* err: error returned by the guard function\n\n## limit\nLimit the concurrency of a function. Every function call that excedees the limit will be queued. If the maximum queue size is reached, the function at the bottom of the queue will return an error (LimitError).\n```js\nimport { limit, LimitError } from 'async-deco';\n\nconst limitTwo = limitDecorator({ concurrency: 2 });\n```\nYou can initialise the decorator with 1 argument:\n* concurrency: number of parallel execution [optional, default to 1]\n* queueSize: is the size of the queue. If the queue reaches this size the function at the bottom of the queue will return an \"LimitError\" [optional, default Infinity]\n* getKey: a function that runs against the original arguments and returns the key used for creating different queues of execution. If it is missing there will be only one execution queue. If it returns null or undefined, the limit will be ignored [optional]\n* a comparator function: this function is a comparator that can be used for [Array.prototype.sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort). It can be used to give priority to the functions that ends up in the queue. [optional, default first in first out]\n\nThe comparator has this form:\n```js\nconst comparator = (a, b) => {\n// a.func, b.func are the functions in the queue\n// a.args, b.args are arrays with the arguments\n})\n```\n#### logs\n| event        | payload |\n|--------------|---------|\n| limit-queue  | { key } |\n| limit-drop   | { key } |\n\n* key: the key for this item, as calculated by the getKey function\n\n## log\nIt logs when a function **start**, **end** and **fail**. It requires the addLogger decorator.\n```js\nimport { log, addLogger } from 'async-deco';\nconst logger = addLogger((evt, payload, ts, id) => {\n  console.log(evt, payload);\n});\nconst addLogs = log();\nconst loggedfunc = logger(addLogs(myfunc));\n```\nRunning \"myfunc\" you will have:\n```\nlog-start {}\nlog-end { res } // \"res\" is the output of myfunc\n```\nor\n```\nlog-start {}\nlog-error { err } // \"err\" is the exception returned by myfunc\n```\nWhen using multiple decorator, it can be useful to attach this decorator multiple times, to give an insight about when the original function starts/ends and when the decorated function is called. To tell what log is called you can add a prefix to the logs. For example:\n```js\nimport { log, addLogger, cache } from 'async-deco';\nconst logger = addLogger((evt, payload, ts, id) => {\n  console.log(evt, payload);\n});\nconst addInnerLogs = log('inner-');\nconst addOuterLogs = log('outer-');\nconst cacheDecorator = cache();\n\nconst myfunc =  logger(addOuterLogs(cacheDecorator(addInnerLogs(myfunc))));\n```\nIn this example outer-log-start and outer-log-end (or outer-log-error) will be always called. The inner logs only in case of cache miss.\n\n## memoize\nThe decorated function is executed only when used with a new set of arguments. Then the results are cached and reused.\nThe result is cached against the arguments. They are checked by reference (strict equality). Promise rejections are cached as well.\n\nThe decorator uses a LRU cache algorithm to decide whether to get rid of a cached value. It also supports a time-to-live for cached values. But you have to consider stale cache entries are not removed until the size of the cache exceeds the length. This allows to keep the running time of the algorithm constant (O(1)) for any operation. The cache is local to the process. So multiple process will store multiple cache items.\n\nThe decorator factory takes 2 arguments:\n* len: the number of items in the cache, default Infinity\n* ttl: time to live in ms (default Infinity)\n\n```js\nimport { memoize } from 'async-deco';\nconst memoizeDecorator = memoize({ len: 10, ttl: 10000 })\nmemoizeDecorator(() => ...)\n```\nThe decorator doesn't provide logging.\n\n## onFulfilled\nIt executes this function on the result once it is fulfilled.\n```js\nimport { onFulfilled } from 'async-deco';\n\nonFulfilled((res) => ...)\n```\nThis\n```js\nconst multiplyBy2 = onFulfilled((res) => res * 2)\nconst myNewFunc = multiplyBy2(myfunc)\n```\nis equivalent to:\n```js\nmyfunc\n  .then((res) => res * 2)\n```\nBut being wrapped in a decorator helps to abstract away the logic.\n\n## onRejected\nIt executes this function on the error, once is rejected.\n```js\nimport { onRejected } from 'async-deco';\n\nonRejected((err) => ...)\n```\nThis\n```js\nconst removeReferenceErrors = onRejected((err) => {\n  if (err instanceof ReferenceError) {\n    return null\n  }\n  throw err\n});\nconst myNewFunc = removeReferenceErrors(myfunc)\n```\nis equivalent to:\n```js\nmyfunc\n  .catch((err) => {\n    if (err instanceof ReferenceError) {\n      return null\n    }\n    throw err\n  })\n```\nBut being wrapped in a decorator helps to abstract away the logic.\n\n## purgeCache\nWhen the decorated function succeed, it purges the corresponding cache entry/entries.\n```js\nimport { purgeCache } from 'async-deco';\n\nconst purgeCacheDecorator = purgeCache({ cache, getKeys, getTags });\n```\nHere's the arguments:\n* cache: a cache object [mandatory]. The interface should be compatible with [memoize-cache](https://github.com/sithmel/memoize-cache)\n* getKeys: a function returning the list of cache keys to remove. It takes the decorated function arguments as its own arguments\n* getTags: a function returning the lst of tags to remove (you can mark a cache item with a tag to remove group of them easily). It takes the decorated function arguments as its own arguments\n\nYou should use at least one of getKeys of getTags.\n\n#### logs\n| event             |    payload     |\n|-------------------|----------------|\n| purge-cache-error |    { err }     |\n| purge-cache       | { keys, tags } |\n\n* err: error from the cache\n* keys: list of cache keys purged\n* tags: list of tags purged\n\n## retry\nIf a function fails, it retry it again\n```js\nimport { retry } from 'async-deco';\n\nconst retryTenTimes = retry({ times: 10, interval: 1000 });\n```\nYou can initialise the decorator with 2 arguments:\n* times: number of retries [optional, it defaults to Infinity]\n* interval: how long to wait before running the function again. It can be a number of milliseconds or a function returning a number of milliseconds (the function takes the current attempt as argument) [optional, it defaults to 0]\n* doRetryIf: a function that takes as argument the error returned by the decorated function. If it returns true, it will trigger the retry. By default it always returns true.\n\n#### logs\n| event |    payload     |\n|-------|----------------|\n| retry | { times, err } |\n\n* times: the attempt number\n* the error returned by the function\n\n## timeout\nIf a function takes to much, returns a timeout exception.\n```js\nimport { timeout, TimeoutError } from 'async-deco';\n\nconst timeoutOneSec = timeout({ ms: 1000 });\n```\nThis will wait one second before returning a TimeoutError.\nIt takes 1 argument:\n* time in ms [mandatory]\n\n#### logs\n| event   |    payload   |\n|---------|--------------|\n| timeout |    { ms }    |\n\n* ms: the timeout is ms\n\n## Examples recipes\n\n### Smart cache\nUsing \"cache\" on an asynchronous function has a conceptual flaw. Let's say for example I have a function with 100ms latency. I call this function every 10 ms:\n```\nexecuted            ⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇          \n          ------------------------------\nrequested ⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆\n```\nWhat happen is that while I am still waiting for the first result (to cache) I regularly execute other 9 functions.\nWhat if I compose cache with dedupe?\n```js\nconst decorator = compose(dedupe(), cache());\n\nconst newfunc = decorator(...);\n```\ndedupe should fill the gap:\n```\nexecuted            ⬇\n          ------------------------------\nrequested ⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆\n```\n\n### Reliable function\nImagine a case in which you want to be sure you did everything to get a result, and in case is not possible you want to return a good fallback:\n```js\nconst decorator = compose(\n  fallback({ value: null }), // last resort fallback\n  fallbackCache(),           // try to use a previous cached output\n  retry({ times: 3 }),       // it retry 3 times\n  timeout({ ms: 5000 }));    // it times out after 5 seconds\n\nconst newfunc = decorator(...);\n```\n\n### Queue\nIf you want to preserve the sequence used to call a function. For example, sending commands a service and be sure they are executed in the right order.\n```js\nconst queue = limit({ concurrency: 1 });\nconst myfunc = queue(...);\n```\n","maintainers":[{"name":"sithmel","email":"maurizio.lupo@gmail.com"}],"time":{"modified":"2022-06-13T03:36:40.297Z","created":"2016-02-21T15:03:51.549Z","1.0.0":"2016-02-21T15:03:51.549Z","1.0.1":"2016-02-21T15:24:54.271Z","1.1.0":"2016-02-22T22:15:29.455Z","2.0.0":"2016-02-24T23:25:29.311Z","2.0.1":"2016-02-24T23:26:39.487Z","3.0.0":"2016-02-25T23:20:01.943Z","3.1.0":"2016-02-28T11:13:27.867Z","3.2.0":"2016-03-02T22:15:41.088Z","3.4.0":"2016-03-06T21:00:15.841Z","3.4.1":"2016-03-12T23:09:03.110Z","3.4.3":"2016-03-13T08:44:24.528Z","4.0.0":"2016-04-04T16:53:53.476Z","4.1.0":"2016-04-08T15:45:16.441Z","4.2.0":"2016-04-12T22:46:41.791Z","4.2.1":"2016-04-12T22:48:46.204Z","4.3.0":"2016-04-21T21:50:47.550Z","5.0.0":"2016-05-12T07:48:02.093Z","5.0.1":"2016-05-17T21:51:47.212Z","5.0.2":"2016-05-17T22:00:22.134Z","5.0.3":"2016-05-18T21:26:49.701Z","5.0.4":"2016-05-26T20:52:15.571Z","5.1.0":"2016-06-06T20:53:55.689Z","5.1.1":"2016-06-09T20:59:11.300Z","5.1.2":"2016-06-15T20:52:04.700Z","5.1.3":"2016-06-15T21:00:08.481Z","5.1.4":"2016-06-20T20:19:55.477Z","5.1.6":"2016-06-22T15:40:02.735Z","5.1.7":"2016-06-23T07:46:31.587Z","5.1.8":"2016-07-04T15:27:56.573Z","6.0.0":"2016-07-13T07:14:08.605Z","6.1.0":"2016-07-21T20:42:51.663Z","6.2.0":"2016-07-22T22:06:21.907Z","6.2.1":"2016-07-23T07:53:15.727Z","6.2.2":"2016-07-26T21:06:03.561Z","6.2.3":"2016-08-12T22:59:10.622Z","7.0.0":"2016-09-24T09:39:44.775Z","7.0.1":"2016-11-05T18:54:26.222Z","7.0.2":"2016-11-05T19:01:38.220Z","7.0.3":"2016-11-06T14:30:40.309Z","7.0.4":"2017-02-24T15:55:04.738Z","7.1.0":"2017-04-23T17:26:06.703Z","7.2.0":"2017-06-15T23:33:41.792Z","7.2.1":"2017-06-16T20:40:44.804Z","7.3.0":"2017-06-23T21:20:38.125Z","7.4.0":"2017-06-23T22:11:15.031Z","7.5.0":"2017-06-24T23:22:41.040Z","7.6.0":"2017-06-27T20:19:46.747Z","8.0.0":"2017-08-16T21:33:23.457Z","8.1.0":"2017-09-26T16:08:15.779Z","8.1.1":"2017-09-27T21:46:09.471Z","8.2.0":"2017-10-04T21:49:55.820Z","8.2.1":"2017-10-04T22:42:32.071Z","8.3.0":"2017-10-22T21:30:01.978Z","8.4.0":"2018-03-27T07:51:53.384Z","8.5.0":"2018-04-15T18:43:01.676Z","8.5.1":"2018-10-10T13:30:54.628Z","8.5.2":"2018-10-22T12:08:28.089Z","8.5.3":"2018-10-22T13:38:09.223Z","9.0.0":"2018-11-18T21:17:17.928Z","9.1.0":"2018-11-26T14:31:24.954Z","9.1.2":"2018-11-26T14:47:03.085Z","9.1.3":"2018-11-26T14:56:44.948Z","9.1.4":"2018-11-26T15:21:14.878Z","9.1.5":"2018-12-07T12:35:48.875Z","9.1.6":"2019-06-11T13:28:55.907Z","9.1.7":"2019-11-26T10:59:59.669Z"},"homepage":"https://github.com/sithmel/async-deco#readme","keywords":["promise","async","decorator","circuit breaker"],"repository":{"type":"git","url":"git+ssh://git@github.com/sithmel/async-deco.git"},"author":{"name":"Maurizio Lupo","email":"maurizio.lupo@gmail.com"},"bugs":{"url":"https://github.com/sithmel/async-deco/issues"},"license":"MIT","readmeFilename":"README.md","users":{"bettiolo":true,"scottfreecode":true}}