nodecaf-redis
Advanced tools
Comparing version 0.0.1 to 0.0.2
@@ -8,2 +8,7 @@ # Nodecaf Redis Changelog | ||
## [v0.0.2] - 2021-07-14 | ||
### Fixed | ||
- Initialization logic to properly cleanup event listeners | ||
## [v0.0.1] - 2020-12-10 | ||
@@ -13,1 +18,2 @@ - First officially published version. | ||
[v0.0.1]: https://gitlab.com/nodecaf/redis/-/tags/v0.0.1 | ||
[v0.0.2]: https://gitlab.com/nodecaf/redis/-/tags/v0.0.2 |
@@ -1,1 +0,1 @@ | ||
[{"type":"issue","check_name":"similar-code","description":"Similar blocks of code found in 2 locations. Consider refactoring.","categories":["Duplication"],"location":{"path":"lib/main.js","lines":{"begin":11,"end":15}},"remediation_points":570000,"other_locations":[{"path":"lib/main.js","lines":{"begin":19,"end":23}}],"content":{"body":"## Duplicated Code\n\nDuplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:\n\n> Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.\n\nWhen you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).\n\n## Tuning\n\n**This issue has a mass of 69**.\n\nWe set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.\n\nThe threshold configuration represents the minimum [mass](https://docs.codeclimate.com/docs/duplication#mass) a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.\n\nIf the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.\n\nSee [`codeclimate-duplication`'s documentation](https://docs.codeclimate.com/docs/duplication) for more information about tuning the mass threshold in your `.codeclimate.yml`.\n\n## Refactorings\n\n* [Extract Method](http://sourcemaking.com/refactoring/extract-method)\n* [Extract Class](http://sourcemaking.com/refactoring/extract-class)\n* [Form Template Method](http://sourcemaking.com/refactoring/form-template-method)\n* [Introduce Null Object](http://sourcemaking.com/refactoring/introduce-null-object)\n* [Pull Up Method](http://sourcemaking.com/refactoring/pull-up-method)\n* [Pull Up Field](http://sourcemaking.com/refactoring/pull-up-field)\n* [Substitute Algorithm](http://sourcemaking.com/refactoring/substitute-algorithm)\n\n## Further Reading\n\n* [Don't Repeat Yourself](http://c2.com/cgi/wiki?DontRepeatYourself) on the C2 Wiki\n* [Duplicated Code](http://sourcemaking.com/refactoring/duplicated-code) on SourceMaking\n* [Refactoring: Improving the Design of Existing Code](http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672) by Martin Fowler. _Duplicated Code_, p76\n"},"fingerprint":"0a457be7b7b2d649b8fafc1f35453988","severity":"minor","engine_name":"duplication"},{"type":"issue","check_name":"similar-code","description":"Similar blocks of code found in 2 locations. Consider refactoring.","categories":["Duplication"],"location":{"path":"lib/main.js","lines":{"begin":19,"end":23}},"remediation_points":570000,"other_locations":[{"path":"lib/main.js","lines":{"begin":11,"end":15}}],"content":{"body":"## Duplicated Code\n\nDuplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:\n\n> Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.\n\nWhen you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).\n\n## Tuning\n\n**This issue has a mass of 69**.\n\nWe set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.\n\nThe threshold configuration represents the minimum [mass](https://docs.codeclimate.com/docs/duplication#mass) a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.\n\nIf the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.\n\nSee [`codeclimate-duplication`'s documentation](https://docs.codeclimate.com/docs/duplication) for more information about tuning the mass threshold in your `.codeclimate.yml`.\n\n## Refactorings\n\n* [Extract Method](http://sourcemaking.com/refactoring/extract-method)\n* [Extract Class](http://sourcemaking.com/refactoring/extract-class)\n* [Form Template Method](http://sourcemaking.com/refactoring/form-template-method)\n* [Introduce Null Object](http://sourcemaking.com/refactoring/introduce-null-object)\n* [Pull Up Method](http://sourcemaking.com/refactoring/pull-up-method)\n* [Pull Up Field](http://sourcemaking.com/refactoring/pull-up-field)\n* [Substitute Algorithm](http://sourcemaking.com/refactoring/substitute-algorithm)\n\n## Further Reading\n\n* [Don't Repeat Yourself](http://c2.com/cgi/wiki?DontRepeatYourself) on the C2 Wiki\n* [Duplicated Code](http://sourcemaking.com/refactoring/duplicated-code) on SourceMaking\n* [Refactoring: Improving the Design of Existing Code](http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672) by Martin Fowler. _Duplicated Code_, p76\n"},"fingerprint":"0a457be7b7b2d649b8fafc1f35453988","severity":"minor","engine_name":"duplication"}] | ||
[] |
const redis = require('async-redis'); | ||
function initClient(client){ | ||
return new Promise( (done, fail) => { | ||
const end = () => fail(new Error('Redis connection aborted')); | ||
client.once('error', fail); | ||
client.once('end', end); | ||
client.once('connect', () => { | ||
client.off('error', fail); | ||
client.off('end', end); | ||
done(); | ||
}); | ||
}) | ||
} | ||
module.exports = async function(conf, subChannel, onMessage){ | ||
conf = conf || {}; | ||
@@ -11,15 +25,7 @@ let promises = []; | ||
let client = redis.createClient(conf); | ||
promises.push(new Promise( (done, fail) => { | ||
client.on('connect', done); | ||
client.on('error', fail); | ||
client.on('end', () => fail(new Error('Redis connection aborted'))); | ||
})); | ||
promises.push(initClient(client)); | ||
if(subChannel && onMessage){ | ||
var subClient = redis.createClient(conf); | ||
promises.push(new Promise( (done, fail) => { | ||
subClient.on('connect', done); | ||
subClient.on('error', fail); | ||
subClient.on('end', () => fail(new Error('Redis connection aborted'))); | ||
})); | ||
promises.push(initClient(subClient)); | ||
@@ -26,0 +32,0 @@ client.subClient = subClient; |
{ | ||
"name": "nodecaf-redis", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "A conveninent interface around node redis to work within a nodecaf app.", | ||
@@ -5,0 +5,0 @@ "main": "lib/main.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8501
54