Express JS middleware to convert query params to boolean
npm install express-query-booleanizerisLast=1 or isLast=true, you should write extra code by yourself to convert that string "1" or "true" to a boolean true value.
express-query-booleanizer to the rescue!
import express from 'express';
import {booleanize} from 'express-query-booleanizer';
const app = express();
`
If no options are passed in booleanize(..),
then booleanize will consider that all of the query parameters starting with ["is", "has", "are", "can", "should"] are boolean query params.
`
app.use(booleanize());
`
To override the default startingWith options, you can do the following:
`
// app.use(booleanize({startingWith: ["has","in","are"]}))
`
in this case, only query params starting with 'has', 'in' and 'are' will be treated as boolean variables (overrides the default one)
Now the essential part:
`
app.get('/test?isValid=true&isNew=1&hasJob=0&somethingElse=false',(req: Request, res: Response) => {
const {isValid, isNew, hasJob, somethingElse} = req.query;
console.log(isValid === true); // true
console.log(isNew === true); // true
console.log(hasJob === false); // true
console.log(somethingElse === "false"); //true, because somethingElse doesn't start with 'is' or 'has'
return res.json(req.query);
})
`
$3
`
import express from 'express';
import {booleanize} from 'express-query-booleanizer';
const app = express();
app.use(booleanize());
// app.use(booleanize({startingWith: ["has","in","are"]}))
app.get('/test?isValid=true&isNew=1&hasJob=0&somethingElse=false',(req: Request, res: Response) => {
const {isValid, isNew, hasJob, somethingElse} = req.query;
console.log(isValid === true); // true
console.log(isNew === true); // true
console.log(hasJob === false); // true
console.log(somethingElse === "false"); //true, because somethingElse doesn't start with 'is' or 'has'
return res.json(req.query);
})
``