Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
aedes-cached-persistence
Advanced tools
Abstract class to write an Aedes persistence with in-process caching of subscriptions
Abstract class to write an Aedes persistence with in-process caching of subscriptions. It implements the API defined by aedes-persistence.
To install aedes-cached-persistence, simply use npm:
npm install aedes-cached-persistence --save
In order to reuse aedes-cached-persistence, you need to:
const CachedPersistence = require('aedes-cached-persistence')
// if you need http://npm.im/aedes-packet, it is available
// from this module as well
// const { Packet } = CachedPersistence
class MyPersistence extends CachedPersistence {
constructor(opts) {
super(opts)
}
addSubscriptions(client, subs, cb) {
// ..persistence specific implementation..
// call super._addedSubscriptions when you are done
super._addedSubscriptions(client, subs.map(mapSub), cb)
}
removeSubscriptions(client, subs, cb) {
// ..persistence specific implementation..
// call super._removedSubscriptions when you are done
super._removedSubscriptions(client, subs.map(mapSub), cb)
}
}
function mapSub (sub) {
return { topic: sub.topic }
}
A persistence needs to pass all tests defined in ./abstract.js. You can import and use that test suite in the following manner:
var test = require('tape').test
var myperst = require('./')
var abs = require('aedes-cached-persistence/abstract')
abs({
test: test,
persistence: myperst
})
If you require some async stuff before returning, a callback is also supported:
var test = require('tape').test
var myperst = require('./')
var abs = require('aedes-persistence/abstract')
var clean = require('./clean') // invented module
abs({
test: test,
buildEmitter: require('mymqemitter'), // optional
persistence: function build (cb) {
clean(function (err) {
cb(err, myperst())
})
}
})
MIT
FAQs
Abstract class to write an Aedes persistence with in-process caching of subscriptions
We found that aedes-cached-persistence demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.