Convert query strings to numbers for express/connect applications.
npm install --save express-query-int
The module will recursively attempt to parse every property in req.query
.
Load it right after the bodyParser
:
var queryParser = require('express-query-int');
// [...]
app.use(bodyParser.json());
app.use(queryParser());
// ?a=1&b[c]=2
console.log(req.query);
// => { a: '4', b: { c: '2' } }
// ?a=1&b[c]=2
console.log(req.query);
// => { a: 4, b: { c: 2 } }
By default the parser will use Number
to convert numbers. You can use parseInt
, parseFloat
, or your own function.
app.use(queryParser({
parser: parseFloat
}));
Provide a function that takes two arguments:
value
: a string potentially representing a numberradix
: 10name
: a name of query argument
app.use(queryParser({
parser: function(value, radix, name) {
if (true) {
return modifiedValue;
}
else {
return NaN;
}
}
}));
Copyright (c) 2015 Marius Craciunoiu. Licensed under the MIT license.