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.
transform callback-functions into connect middlewares, dumping their content to res.locals
res.locals
-middlewareTransform callback-functions into connect middlewares, dumping their content to res.locals
.
npm i to-locals
var toLocals = require('to-locals');
// toLocals([context], function, [arguments], key)
toLocals(getUsers, 'users');
toLocals(getUserById, [ 'req.params.id' ], 'user');
toLocals(users, users.find, 'user');
toLocals(users, 'find', 'users');
toLocals(users, 'findById', [ 'req.params.id' ], 'user');
Most node function are something like this:
var getUser = function(cb) {
cb(null, 'user');
};
Writing your site with express, you usually call these functions and just put their values in res.locals
:
app.get('/user', function(req, res) {
getUser(function(err, user) {
res.render('index', {
user: user
});
});
});
With to-locals
, it's a bit simpler:
app.get('/', toLocals(getUser, 'user'), function(req, res) {
res.render('index');
});
It's perfect for mongoose:
var users = toLocals(mongoose.model('users'), 'find', 'users');
app.get('users', users, [...]);
For more complicate cases you can to-locals
around an anonymous function:
var project = toLocals(function (cb) {
mongoose.model('projects').findById(cb.req.query.id, cb);
}, 'project');
Notice how req
(and res
) was attached to the callback!
Or use to-locals
's sugar:
var project = toLocals(mongoose.model('projects'), 'findById', [ 'req.query.id' ], 'project');
Mocha with some npm test
.
MIT
FAQs
transform callback-functions into connect middlewares, dumping their content to res.locals
The npm package to-locals receives a total of 0 weekly downloads. As such, to-locals popularity was classified as not popular.
We found that to-locals demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.