express-query-int

Convert query strings to numbers for express/connect applications.

Usage no npm install needed!

<script type="module">
  import expressQueryInt from 'https://cdn.skypack.dev/express-query-int';
</script>

README

express-query-int

Convert query strings to numbers for express/connect applications.

npm build status

Installation

npm install --save express-query-int

Getting Started

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());

Without

// ?a=1&b[c]=2
console.log(req.query);
// => { a: '4', b: { c: '2' } }

With

// ?a=1&b[c]=2
console.log(req.query);
// => { a: 4, b: { c: 2 } }

Default Parser

By default the parser will use Number to convert numbers. You can use parseInt, parseFloat, or your own function.

app.use(queryParser({
  parser: parseFloat
}));

Custom Parser

Provide a function that takes two arguments:

  • value: a string potentially representing a number
  • radix: 10
  • name : a name of query argument
app.use(queryParser({
  parser: function(value, radix, name) {
    if (true) {
      return modifiedValue;
    }
    else {
      return NaN;
    }
  }
}));

License

Copyright (c) 2015 Marius Craciunoiu. Licensed under the MIT license.