{"_id":"querymen","_rev":"19-aa7748b68f71a223eed35ef293d7b525","name":"querymen","description":"Querystring parser middleware for MongoDB, Express and Nodejs","dist-tags":{"latest":"2.1.4"},"versions":{"1.0.0":{"name":"querymen","version":"1.0.0","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/menquery.git"},"keywords":["mongo","express","node","query","querystring","param"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/menquery/issues"},"homepage":"https://github.com/diegohaz/menquery#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"8dc04145042e38b0f2471b5e3d0e655eeccab9d2","_id":"querymen@1.0.0","_shasum":"34b442d6f87ed1801ef45e47b78b523c36191767","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"34b442d6f87ed1801ef45e47b78b523c36191767","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.0.tgz","integrity":"sha512-/ZtWmykZ7K6d3aOBr/QtPeYIPNloQVIvMM6mAPk0qtTt2tPcL7FYThIf9fnyq/fJsMLSII9yWZo24boURmMwEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmzjJBXxHGC9hggbV3xwaA6/meLH5ARr44hrs3I29UPAIgZKw+fgjTxfH+lh9eDsdaAyWAgP7n3ga0O/KzZD2niuo="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.0.0.tgz_1462136060248_0.8236736729741096"},"directories":{}},"1.0.1":{"name":"querymen","version":"1.0.1","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/menquery.git"},"keywords":["mongo","express","node","query","querystring","param"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/menquery/issues"},"homepage":"https://github.com/diegohaz/menquery#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"c4c9ad23abca9e5da3b652f7efeb8b70f577e095","_id":"querymen@1.0.1","_shasum":"f7fe1af023327cdb6f60756625f9649b3b292b17","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"f7fe1af023327cdb6f60756625f9649b3b292b17","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.1.tgz","integrity":"sha512-xtfOi01Kvcu4AjqXXTiQr4UTQeQES72NDSFW3oU8nHeo463gfdGtHvIf9LzoO36lxEu8n4CHW+cf9e7VcETs/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDKfQcvmXQzuS/bN2pqpnlHPGhApAoAGFiUTZVWokw6gIhAK03Yh7nSYzrMPj5QOwKzG16u/2kbOewneyZh0YV74Wj"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.0.1.tgz_1462137436963_0.07766640419140458"},"directories":{}},"1.0.2":{"name":"querymen","version":"1.0.2","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"f761a3fd5c5ec368cdfb3d2c9b84baaea5e2b16f","_id":"querymen@1.0.2","_shasum":"46bc3ac34311bddc5e9ac7825ca6a85522bb0628","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"46bc3ac34311bddc5e9ac7825ca6a85522bb0628","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.2.tgz","integrity":"sha512-YrEMxKYr0Ui9i6wgRTMlbjCUAxGtIj3VqJkLVIpBc2bjObS3z2e9W0TiZRAwjqsQQDDfKGVxP6MFcDGoexd4rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6zkdyLCfWoMHU/X+1pnjrcQAs13hEV2tLZP3sQ3RQsAIgROXso7wtozrL5lCFOgryA5MA1jSFQdqYYdgdYZ0xryw="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.0.2.tgz_1462141156398_0.014685370028018951"},"directories":{}},"1.0.3":{"name":"querymen","version":"1.0.3","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"4476bd8d3b8571919aff4399f95de2d2ac6441bd","_id":"querymen@1.0.3","_shasum":"dca531df27ffcf70225ae90943045962f86c8e13","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"dca531df27ffcf70225ae90943045962f86c8e13","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.3.tgz","integrity":"sha512-F9wCTgg+X5JTFCnEGQAtWHsddzOr2ML34Jkl0Bt56A7vOWwLMyNY3gALqW0ljUZrsrk9T0q0YK06V21cT2nBOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7hdATXGWXNzvWFY6vnfUT19VVW1knpzOGuVpHWitJEAIhAMeRU7R9Wm8dFh16vJ4CyoekkgKB6k0ZUz9s/k+vrRmK"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/querymen-1.0.3.tgz_1462142067979_0.1922298378776759"},"directories":{}},"1.0.4":{"name":"querymen","version":"1.0.4","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"f8bb1ec448cbd8aea82f19ba26de6c4ec0b5fa4f","_id":"querymen@1.0.4","_shasum":"6911233740ef843076d894381eece53639b736e2","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"6911233740ef843076d894381eece53639b736e2","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.4.tgz","integrity":"sha512-3AHwTU1e6eV0IClNnE2r67Nmnen8uQbSpngcHpkOu8XRGDIsKMBOk6dyxUFGx2ikb/9LTbyA8Tq6Lc1YRqUEfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDj8hdydfQJvZt7COvRNVHhDEzZHsBFoAWYdmVSP1tmQIhAOxlHSkN/is8+nygbSJjHqUd5BH4BsHSIlGhBLXzCGgn"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.0.4.tgz_1462144335214_0.8952850436326116"},"directories":{}},"1.0.5":{"name":"querymen","version":"1.0.5","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"5f70579b42bba80a24c16a1fe58700227b784667","_id":"querymen@1.0.5","_shasum":"50d0d81689906f6fd79ece33a2773729c60eb6cc","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"50d0d81689906f6fd79ece33a2773729c60eb6cc","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.0.5.tgz","integrity":"sha512-THhNUrTchDdpLlMF9u7SUKBGpe1yvn3nS4zVOaOtGDWF56LegeeLO02ytySQdaNbTvGbirZn+PjE7FPVKnynVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgYaGH+QiDxNRNLAHRcdZjdajYUWN4UoVOBN03x9XevwIhANqbnMJgU379xBv1nsME86l2WpVXR3BfdprB3CzRk2Xo"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.0.5.tgz_1462199061152_0.37249762401916087"},"directories":{}},"1.1.0":{"name":"querymen","version":"1.1.0","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"262e9d0652a33fd2c6abdc6169c369948039fb92","_id":"querymen@1.1.0","_shasum":"321f9351ef5a2af99ecea6cd6959a2ac0bdea978","_from":".","_npmVersion":"3.8.2","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"321f9351ef5a2af99ecea6cd6959a2ac0bdea978","tarball":"https://registry.npmjs.org/querymen/-/querymen-1.1.0.tgz","integrity":"sha512-fOe/9vLjMBHqMPHbkorwCPaGvuQROo8eV6P63VZ+J872ItBZnFgonJhoA3nnNwZ8EgCrtHHhyWY5/LNwKvwcwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb3v6kCYSJC5LU8yi5f/e5rwU4qOrcWSM5gs92gcXslwIhALGn400C5wWiT5wU0pJoF7p5LvDFH1iStoUx525HBT7b"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-1.1.0.tgz_1462323006470_0.9030382956843823"},"directories":{}},"2.0.0":{"name":"querymen","version":"2.0.0","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"*","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","isparta":"*","mongoose":"^4.4.13","rimraf":"*","supertest":"^1.2.0","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.1"},"gitHead":"e25d28079c7573618c14c384bc6b6510b9245183","_id":"querymen@2.0.0","_shasum":"9e781a5fad29a9db5dd9f4fee089d9fd2b114079","_from":".","_npmVersion":"3.8.8","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"9e781a5fad29a9db5dd9f4fee089d9fd2b114079","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.0.0.tgz","integrity":"sha512-j0nzp35BltarBL5evZevi1SJSXCZU72AZ/jYQgBNl4gExaEbgrZ9lDJrtdbzm6/RiYhRWthIBZKRLjW0OEKYcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/RfGKcdFgCjtQqdLb2+6g+jZCZFNs4z0ZbrCQlSlAswIhALJslA/hL4D8xoSs7Vj5AVcRBYmz8yP+6MLDDSKxtGIQ"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/querymen-2.0.0.tgz_1465413725396_0.19414224126376212"},"directories":{}},"2.1.0":{"name":"querymen","version":"2.1.0","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"nyc --reporter=lcov --reporter=text npm run test","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"^6.1.2","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"^2.11.12","dependency-check":"^2.6.0","doctoc":"^1.2.0","eslint":"^3.4.0","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","mongoose":"^4.4.13","nyc":"^8.1.0","rimraf":"^2.5.4","supertest":"^1.2.0","tap-spec":"^4.1.1","tape":"^4.6.0","watch":"^0.19.2"},"dependencies":{"lodash":"^4.11.1","rich-param":"^1.0.1"},"gitHead":"9146b454ade30f2c6b91b88ea3f429c1032cfc3d","_id":"querymen@2.1.0","_shasum":"b4ab957c8f5b4859d8f2ff08acaa5e6efc0f819b","_from":".","_npmVersion":"3.10.6","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"b4ab957c8f5b4859d8f2ff08acaa5e6efc0f819b","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.1.0.tgz","integrity":"sha512-IJLAcLERJ2OwH8FZ75cCG3SYHsbjgME2JkoEvRT5c2UDwvLq7b0UqlVVqnSjsAbUwKEFW7xQoEMmfsRXPDZwkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEI7jYbRt7zqovX4IMzIuIy62u5a5ABi6g76lhfuyoupAiAVEJOpY5GRElo1jQEQRX+THrmIEpGo89fmr4f6DA3QOA=="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/querymen-2.1.0.tgz_1473170184192_0.9239056261721998"},"directories":{}},"2.1.1":{"name":"querymen","version":"2.1.1","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"nyc --reporter=lcov --reporter=text npm run test","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"^6.1.2","babel-preset-es2015":"^6.6.0","blue-tape":"^0.2.0","coveralls":"^2.11.12","dependency-check":"^2.6.0","doctoc":"^1.2.0","eslint":"^3.4.0","eslint-config-standard":"^5.1.0","eslint-plugin-promise":"^1.1.0","eslint-plugin-standard":"^1.3.2","express":"^4.13.4","mongoose":"^4.4.13","nyc":"^8.1.0","rimraf":"^2.5.4","supertest":"^1.2.0","tap-spec":"^4.1.1","tape":"^4.6.0","watch":"^0.19.2"},"dependencies":{"lodash":"^4.11.1","rich-param":"^1.0.1"},"gitHead":"5e0767e94e2ccbe0cf08d3d0a01a898cb430c9ca","_id":"querymen@2.1.1","_shasum":"ef9c4a78fdbe912c6f549cf9b26ee1cca06d4ee2","_from":".","_npmVersion":"3.10.6","_nodeVersion":"5.6.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"ef9c4a78fdbe912c6f549cf9b26ee1cca06d4ee2","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.1.1.tgz","integrity":"sha512-zhM2BUEUJle30ABU3D1CXiRPa7J7qvYEuLfOp+KZO1MEXbr+fR7dmlOdfibZLrfI7MPxlYJFpP0uMIL23vBlHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFBELRgk86W+PWXY8gqnpNXPITQ5i47HDqozGi2B7oC6AiAMOHNY5gYLgDAieFMs9+xc1JBDIMKkkPPtf26EN+7Vgw=="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/querymen-2.1.1.tgz_1474904055587_0.8223023226018995"},"directories":{}},"2.1.2":{"name":"querymen","version":"2.1.2","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"nyc --reporter=lcov --reporter=text npm run test","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.6.0","blue-tape":"^1.0.0","coveralls":"^2.11.12","dependency-check":"^2.6.0","doctoc":"^1.2.0","eslint":"^3.14.0","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","express":"^4.13.4","mongoose":"^4.7.8","nyc":"^11.0.1","rimraf":"^2.5.4","supertest":"^3.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","watch":"^1.0.1"},"dependencies":{"lodash":"^4.11.1","rich-param":"^1.0.1"},"gitHead":"e2593d7ebc1ac1220c34e366fed50a1cc337ffad","_id":"querymen@2.1.2","_shasum":"bbd6d55cb855964a53f2aa4546a259219a6a78e1","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.1","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"bbd6d55cb855964a53f2aa4546a259219a6a78e1","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.1.2.tgz","integrity":"sha512-i7pWQHRsDUyd6ZPNPMXoHLZluMt+3UeTYf6QWXTOO8dkSnpxWBf4xTSkRctlpLuumNG4U9mH+j3u3f8cSqkT1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmv9HjQWdn7FbbbVpcZiZzTJ0CwodJ18Bhk35GVqCIAgIhAJ8++P9kn/vBY2Jo0C/6Mxj0n7loPnhZtwTCql7K+rPm"}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/querymen-2.1.2.tgz_1499343144373_0.018075596541166306"},"directories":{}},"2.1.3":{"name":"querymen","version":"2.1.3","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","files":["bin/","dist/"],"scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"nyc --reporter=lcov --reporter=text npm run test","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.6.0","blue-tape":"^1.0.0","coveralls":"^2.11.12","dependency-check":"^2.6.0","doctoc":"^1.2.0","eslint":"^3.14.0","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","express":"^4.13.4","mongoose":"^4.7.8","nyc":"^11.0.1","rimraf":"^2.5.4","supertest":"^3.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","watch":"^1.0.1"},"dependencies":{"lodash":"^4.11.1","rich-param":"^1.0.1"},"gitHead":"74a634c83d1435d3fa3e56a688577712e23f7f3f","_id":"querymen@2.1.3","_shasum":"fd0231c01002e9f9e43e06255ddcde37c1bd9132","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"dist":{"shasum":"fd0231c01002e9f9e43e06255ddcde37c1bd9132","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.1.3.tgz","integrity":"sha512-R1vF2tSvfmIYv1e29PToJ42cwk7zeaucUkMCiYS3s5ckDiUdJ8uI0mPjRG2I/EG4Rb6L6ypGXgiVHp02Jzf2+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIiADY/6nWp3RZGC7Ra+5T5LYESkjFwB+r33LQ+x3pfAiEAuG4uRKlM+WSeOoS1tLP1kMq9hsHR+RxmB0q46kvLObo="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/querymen-2.1.3.tgz_1503411050855_0.8930592013057321"},"directories":{}},"2.1.4":{"name":"querymen","version":"2.1.4","description":"Querystring parser middleware for MongoDB, Express and Nodejs","main":"dist/index.js","scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"babel --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"nyc --reporter=lcov --reporter=text npm run test","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish","minor":"npm version minor && npm publish","major":"npm version major && npm publish","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"homepage":"https://github.com/diegohaz/querymen#readme","devDependencies":{"babel-cli":"^6.7.5","babel-core":"^6.7.6","babel-eslint":"^7.1.1","babel-preset-es2015":"^6.6.0","blue-tape":"^1.0.0","coveralls":"^2.11.12","dependency-check":"^2.6.0","doctoc":"^1.2.0","eslint":"^3.14.0","eslint-config-standard":"^6.2.1","eslint-plugin-promise":"^3.4.0","eslint-plugin-standard":"^2.0.1","express":"^4.13.4","mongoose":"^4.7.8","nyc":"^11.0.1","rimraf":"^2.5.4","supertest":"^3.0.0","tap-spec":"^4.1.1","tape":"^4.6.0","watch":"^1.0.1"},"dependencies":{"lodash":"^4.11.1","rich-param":"^1.0.1"},"gitHead":"d420dbe72ec900cd9665e4aa2cc39b7d79ccefaa","_id":"querymen@2.1.4","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-sA6F7ME7E4hJ8uP1uIf58MBznU0IIJwNdo9uQPeusLkW3+ZRUIQGxmvZpYQge3pCAG9jUOhIxx4L/jkkuEu57A==","shasum":"c2978c16d63554d99ce9d3c6f75511db4af7f1f7","tarball":"https://registry.npmjs.org/querymen/-/querymen-2.1.4.tgz","fileCount":7,"unpackedSize":36509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeam75CRA9TVsSAnZWagAAdP4P/1bDqcwhrErI75XQ+3A6\ndzfzXqRSBDvY1ITblrPIupd0Omrr5HicOfchFoWTVFdid+ro/4blqJfYZihZ\nKA4uFgiwvK1q8wznaakN/WFmv3Ehn8sI0SNFwy61UzzBycL8tSpeYvCMkP27\nXWmprtT2RlMVz6svwWpbQHGpxflEUAEseXLg3ixl3ILRs8ocXpH8LoftyiFu\nRSWv3RX5IuAyy/hbmXB4exw6E7qL4y3EwoHH4LWhVgbrVRZitEkJNhicIr1L\nl6FfYHlOb9rrUd3JN8bSBMiun5udLe2dzRkD6fIgHSMojbMf/8JiLzT/aaOt\n2vCgdkbZmOOgpAGDwYuPCZ9w8Oq7ltLTxRP11un3dAIUy+LADLDXp8xpFe5B\nh9zeqHpJ/x3ZUjrrazU4L0fAP+U6iQDT2P/mlIQ2fBPhmqwMWTamWMWWaAF6\n0tNdxatXBnM5AJC2AjkS68xoR1cxh3fLScNup8ehE5qvZ2fKk2X/uCV5A/BF\nBUhuF2oBtLMF25jonOzAl66R7MOdlzxBc6Pkvpxp8DrBRaSWz11+YznpBBH6\nGglhI2sTa1bHzrqM/FRTGwWMTOQxbFqTsglFGlvcTXaljWfXFMZxouXqNRro\nQbz0QYKUxlDzrmvPxYG5aTaw2OApHI/Y5yQC6fTjkAIOtDaxJEgWhQMCJvqn\nIRL5\r\n=mQIx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIENgAfFhVNqYW0e5VZ76rUmsb9mIzDeMcbaua51aJEGdAiAICwZ89HIIzJWDuCBzkb79ot4eVxmU26v5ZKTqevFAYA=="}]},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/querymen_2.1.4_1584033529104_0.6006037426853472"},"_hasShrinkwrap":false}},"readme":"# Querymen\n\n[![JS Standard Style][standard-image]][standard-url]\n[![NPM version][npm-image]][npm-url]\n[![Build Status][travis-image]][travis-url]\n[![Coveralls Status][coveralls-image]][coveralls-url]\n[![Dependency Status][depstat-image]][depstat-url]\n[![Downloads][download-badge]][npm-url]\n\n> Querystring parser middleware for MongoDB, Express and Nodejs\n\n## Install\n\n```sh\nnpm install --save querymen\n```\n\n## Examples\n\n### Pagination\nQuerymen has a default schema to handle pagination. This is the most simple and common usage.\n```js\nimport { middleware as query } from 'querymen';\n\napp.get('/posts', query(), ({ querymen: { query, select, cursor } }, res) => {\n\n  Post.find(query, select, cursor).then(posts => {\n    // posts are proper paginated here\n  });\n});\n```\nUser requests `/posts?page=2&limit=20&sort=-createdAt` querymen will be:\n```js\nquerymen = {\n  query: {},\n  select: {},\n  cursor: {\n    limit: 20, \n    skip: 20, \n    sort: { createdAt: -1 }\n  }\n}\n```\nUser requests `/posts?q=term&fields=title,desc` querymen will be:\n> When user requests `/posts?q=term`, querymen parses it to `{keywords: /term/i}`. It was designed to work with [mongoose-keywords](https://github.com/diegohaz/mongoose-keywords) plugin, which adds a `keywords` field to schemas (check that out).\n\n```js\nquerymen = {\n  query: {\n    keywords: /term/i\n  },\n  select: {\n    title: 1,\n    desc: 1\n  },\n  cursor: {\n    // defaults\n    limit: 30, \n    skip: 0, \n    sort: { createdAt: -1 }\n  }\n}\n```\nUser requests `/posts?fields=-title&sort=name,-createdAt` querymen will be:\n```js\nquerymen = {\n  query: {},\n  select: {\n    title: 0\n  },\n  cursor: {\n    limit: 30, \n    skip: 0, \n    sort: {\n      name: 1,\n      createdAt: -1\n    }\n  }\n}\n```\n\n### Custom schema\nYou can define a custom schema, which will be merged into querymen default schema (explained above).\n```js\nimport { middleware as query } from 'querymen';\n\napp.get('/posts', query({\n  after: {\n    type: Date,\n    paths: ['createdAt']\n    operator: '$gte'\n  }\n}), ({ querymen }, res) => {\n  Post.find(querymen.query).then(posts => {\n    // ...\n  });\n});\n```\nUser requests `/posts?after=2016-04-23` querymen will be:\n```js\nquerymen = {\n  query: {\n    createdAt: { $gte: 1461369600000 }\n  },\n  select: {},\n  cursor: {\n    // defaults\n    limit: 30, \n    skip: 0, \n    sort: { createdAt: -1 }\n  }\n}\n```\n\n### Reusable schemas\nYou can create reusable schemas as well. Just instantiate a `Schema` object.\n```js\nimport { middleware as query, Schema } from 'querymen';\n\nconst schema = new Schema({\n  tags: {\n    type: [String],\n  }\n});\n\n// user requests /posts?tags=world,travel\n// querymen.query is { tags: { $in: ['world', 'travel'] }}\napp.get('/posts', query(schema));\napp.get('/articles', query(schema));\n```\n\n### Advanced schema\n```js\nimport { middleware as query, Schema } from 'querymen';\n\nconst schema = new Schema({\n  active: Boolean, // shorthand to { type: Boolean }\n  sort: '-createdAt', // shorthand to { type: String, default: '-createdAt' }\n  term: {\n    type: RegExp,\n    paths: ['title', 'description'],\n    bindTo: 'search' // default was 'query'\n  },\n  with_picture: {\n    type: Boolean,\n    paths: ['picture'],\n    operator: '$exists'\n  }\n}, {\n  page: false, // disable default parameter `page`\n  limit: 'max_items' // change name of default parameter `limit` to `max_items`\n});\n\napp.get('/posts', query(schema), ({ querymen }, res) => {\n  // user requests /posts?term=awesome&with_picture=true&active=true&max_items=100\n  // querymen.query is { picture: { $exists: true }, active: true }\n  // querymen.cursor is { limit: 100, sort: { createdAt: -1 } }\n  // querymen.search is { $or: [{ title: /awesome/i }, { description: /awesome/i }]}\n});\n```\n\n### Dynamic advanced schema\n```js\nimport { middleware as query, Schema } from 'querymen';\nconst schema = new Schema();\n\nschema.formatter('scream', (scream, value, param) => {\n  if (scream) {\n    value = value.toUpperCase() + '!!!!!!!';\n  }\n  return value;\n});\n\nschema.param('text', null, { type: String }); // { type: String }\nschema.param('text').option('scream', true); // { type: String, scream: true }\nschema.param('text').value('help');\nconsole.log(schema.param('text').value()); // HELP!!!!!!!\n\nschema.validator('isPlural', (isPlural, value, param) => {\n  return {\n    valid: !isPlural || value.substr(-1) === 's',\n    message: param.name + ' must be in plural form.'\n  };\n});\n\nschema.param('text').option('isPlural', true); // { type: String, scream: true, isPlural: true }\nconsole.log(schema.validate()); // false\nschema.param('text', 'helps');\nconsole.log(schema.validate()); // true\nconsole.log(schema.param('text').value()); // HELPS!!!!!!!\n\nschema.parser('elemMatch', (elemMatch, value, path, operator) => {\n  if (elemMatch) {\n    value = { [path]: { $elemMatch: {[elemMatch]: {[operator]: value } }}};\n  }\n  return value;\n});\n\nschema.param('text', 'ivegotcontrols');\nconsole.log(schema.param('text').parse()); // { text: 'IVEGOTCONTROLS!!!!!!!' }\n\nschema.param('text').option('elemMatch', 'prop');\nconsole.log(schema.param('text').parse()); // { text: { $elemMatch: { prop: { $eq: 'IVEGOTCONTROLS!!!!!!!'} }}}\n```\n\n### Geo queries\nQuerymen also support geo queries, but it's disabled by default. To enable geo queries you just need to set `near` option to true in schema options.\n```js\nimport { middleware as query } from 'querymen';\n\napp.get('/places', query({}, { near: true }), (req, res) => {\n  \n});\n```\nIts `paths` option is set to `['location']` by default, but you can change this as well:\n```js\nimport { middleware as query } from 'querymen';\n\napp.get('/places', \n  query({\n    near: { paths: ['loc'] }\n  }, {\n    near: true\n  }), \n  (req, res) => {\n  \n  });\n```\nUser requests `/places?near=-22.332113,-44.312311` (latitude, longitude), req.querymen.query will be:\n```js\nreq.querymen.query = {\n  loc: {\n    $near: {\n      $geometry: {\n        type: 'Point',\n        coordinates: [-44.312311, -22.332113]\n      }\n    }\n  }\n}\n```\nUser requests `/places?near=-22.332113,-44.312311&min_distance=200&max_distance=2000` (min_distance and max_distance in meters), req.querymen.query will be:\n```js\nreq.querymen.query = {\n  loc: {\n    $near: {\n      $geometry: {\n        type: 'Point',\n        coordinates: [-44.312311, -22.332113]\n      },\n      $minDistace: 200,\n      $maxDistance: 2000\n    }\n  }\n}\n```\nYou can also use legacy geo queries as well. Just set `geojson` option in param:\n```js\nimport { middleware as query } from 'querymen';\n\napp.get('/places', \n  query({\n    near: {\n      paths: ['loc'],\n      geojson: false\n    }\n  }, {\n    near: true\n  }), \n  (req, res) => {\n  \n  });\n```\nUser requests `/places?near=-22.332113,-44.312311&min_distance=200&max_distance=2000`, req.querymen.query will be:\n```js\nreq.querymen.query = {\n  loc: {\n    $near: [-44.312311, -22.332113],\n    // convert meters to radians automatically\n    $minDistace: 0.000031,\n    $maxDistance: 0.00031\n  }\n}\n```\n\n### Error handling\n```js\n// user requests /posts?category=world\nimport { middleware as query, querymen, Schema } from 'querymen';\n\nconst schema = new Schema({\n  category: {\n    type: String,\n    enum: ['culture', 'general', 'travel']\n  }\n});\n\napp.get('/posts', query(schema));\n\n// create your own handler\napp.use((err, req, res, next) => {\n  res.status(400).json(err);\n});\n\n// or use querymen error handler\napp.use(querymen.errorHandler());\n```\nResponse body will look like:\n```json\n{\n  \"valid\": false,\n  \"name\": \"enum\",\n  \"enum\": [\"culture\", \"general\", \"travel\"],\n  \"value\": \"world\",\n  \"message\": \"category must be one of: culture, general, travel\"\n}\n```\n\n## Contributing\n\nThis package was created with [generator-rise](https://github.com/bucaran/generator-rise). Please refer to there to understand the codestyle and workflow. Issues and PRs are welcome! \n\n## License\n\nMIT © [Diego Haz](http://github.com/diegohaz)\n\n[standard-url]: http://standardjs.com\n[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg\n\n[npm-url]: https://npmjs.org/package/querymen\n[npm-image]: https://img.shields.io/npm/v/querymen.svg?style=flat-square\n\n[travis-url]: https://travis-ci.org/diegohaz/querymen\n[travis-image]: https://img.shields.io/travis/diegohaz/querymen.svg?style=flat-square\n\n[coveralls-url]: https://coveralls.io/r/diegohaz/querymen\n[coveralls-image]: https://img.shields.io/coveralls/diegohaz/querymen.svg?style=flat-square\n\n[depstat-url]: https://david-dm.org/diegohaz/querymen\n[depstat-image]: https://david-dm.org/diegohaz/querymen.svg?style=flat-square\n\n[download-badge]: http://img.shields.io/npm/dm/querymen.svg?style=flat-square\n","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"time":{"modified":"2022-06-25T06:41:53.246Z","created":"2016-05-01T20:54:21.228Z","1.0.0":"2016-05-01T20:54:21.228Z","1.0.1":"2016-05-01T21:17:19.095Z","1.0.2":"2016-05-01T22:19:18.435Z","1.0.3":"2016-05-01T22:34:28.400Z","1.0.4":"2016-05-01T23:12:17.367Z","1.0.5":"2016-05-02T14:24:22.155Z","1.1.0":"2016-05-04T00:50:08.832Z","2.0.0":"2016-06-08T19:22:05.929Z","2.1.0":"2016-09-06T13:56:25.815Z","2.1.1":"2016-09-26T15:34:16.955Z","2.1.2":"2017-07-06T12:12:25.408Z","2.1.3":"2017-08-22T14:10:50.970Z","2.1.4":"2020-03-12T17:18:49.242Z"},"homepage":"https://github.com/diegohaz/querymen#readme","keywords":["mongo","express","node","query","querystring","param","mongodb","expressjs","nodejs"],"repository":{"type":"git","url":"git+https://github.com/diegohaz/querymen.git"},"author":{"name":"Diego Haz","email":"hazdiego@gmail.com"},"bugs":{"url":"https://github.com/diegohaz/querymen/issues"},"license":"MIT","readmeFilename":"README.md","users":{"diegohaz":true,"isaacvitor":true,"plunix":true}}