UNPKG

express-query-params

Version:

Express.js middleware implementing the API Query Spec, converting the params to SQL or a Mongo query

26 lines (20 loc) 636 B
const DEFAULT_OPTIONS = { dateFormat: 'ISO8601', format: 'mongo', blacklistParams: [ 'limit' ], whitelistParams: [] } exports.DEFAULT_OPTIONS = DEFAULT_OPTIONS exports.middleware = (customOptions = {}) => { const options = { ...DEFAULT_OPTIONS, ...customOptions } if ( options.format === 'sequelize' && !options.sequelizeOp ) throw new Error('Format `sequelize` requires option `sequelizeOp`') const parser = require(`../formats/${options.format}`)(options) return (req, res, next) => { if (!req.query || req.query === {}) return next() req.parsedQuery = parser(req.query) return next() } }