{"_id":"needs-params","_rev":"36-6cffd76a9fb90b0d8906547358ac572a","name":"needs-params","description":"Generates Express middleware that formats and enforces a parameter scheme","dist-tags":{"latest":"3.2.0"},"versions":{"1.0.0":{"name":"needs-params","version":"1.0.0","description":"Generates Express middleware that formats and enforces a route parameter scheme","main":"index.js","scripts":{"test":"ava"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"ava":"^0.13.0","body-parser":"^1.15.0"},"gitHead":"257e31f5917f5cb46828f49746c73a4e3884638c","_id":"needs-params@1.0.0","_shasum":"af0cc30a5047604be1f16bca0071fbd6a97e896a","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.9.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"af0cc30a5047604be1f16bca0071fbd6a97e896a","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.0.0.tgz","integrity":"sha512-rhHkOJJSqcdY3R5q2i3UgmbhtD2tcBB18zCV63fuif0ugHFydgbvwKbBKPlXE1/nok7ubDzIOPeF/09J7WsZ8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsJChiJvO2pHw7WLASTMULXxp+sthnvU60Qqz2DeawygIgGrwo26M6TBT8z1IvhBtXKCcKfvXFeT6gi3NXcg6HQyI="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.0.0.tgz_1460046695786_0.752864500740543"}},"1.0.1":{"name":"needs-params","version":"1.0.1","description":"Generates Express middleware that formats and enforces a route parameter scheme","main":"index.js","scripts":{"test":"ava"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"ava":"^0.13.0","body-parser":"^1.15.0"},"gitHead":"ec80fed2ec1de5344050df2a2c3d736ba6c3e94e","_id":"needs-params@1.0.1","_shasum":"1dd9b8ed8841d0ef0add48540a236213b0d264d0","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"1dd9b8ed8841d0ef0add48540a236213b0d264d0","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.0.1.tgz","integrity":"sha512-xtlSY31TDgkkw+QYQWzEnn7QiWvc9ywWEsIzRWmomXzShIGsR/TV6ih4aTl3ZtHdcHisu+NQFQagEDCtEJSf4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVCmavkIT9rcxgGgzFx92E19iUlyOTdXXWnE7FuEOuNQIhALLHLAxDw9qXq8WBPolxnGfrO/FjE1lpZU0QumQxKQGf"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.0.1.tgz_1461356439128_0.9479302673134953"}},"1.0.2":{"name":"needs-params","version":"1.0.2","description":"Generates Express middleware that formats and enforces a route parameter scheme","main":"index.js","scripts":{"test":"ava"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"ava":"^0.13.0","body-parser":"^1.15.0"},"gitHead":"c99c3d8d9dca3e0b73930ad42de0ca59a7d15fb5","_id":"needs-params@1.0.2","_shasum":"b854173d3ef4d1d50b100123b1bc7bed8e6700ea","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"b854173d3ef4d1d50b100123b1bc7bed8e6700ea","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.0.2.tgz","integrity":"sha512-O6ZU/Hn4T14gIdayQ6OK7M5u8kAWqWu0dhx/xqGRN0WvUIVpdhgP/XSXMGFqxc+fORvk9V18imLj/mdOY8skvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsiTz5rLNZf077PufZ3hJubsXtjfyPgshFgp+VPUw2+AiB4oo5H/XgYZAIpKr57aPwVWQqmDKm5+dLg+a8gp9kL/A=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.0.2.tgz_1461357214764_0.17559739924035966"}},"1.0.3":{"name":"needs-params","version":"1.0.3","description":"Generates Express middleware that formats and enforces a route parameter scheme","main":"index.js","scripts":{"test":"ava"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"ava":"^0.13.0","body-parser":"^1.15.0"},"gitHead":"2e63eee35f955beed74fdf220505eff5805c0a52","_id":"needs-params@1.0.3","_shasum":"2ae7be1dad42625aa1fa7d73c814242e2b530905","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.1","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"2ae7be1dad42625aa1fa7d73c814242e2b530905","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.0.3.tgz","integrity":"sha512-XheTq1E8dLL3aUB3xIK2w3iAvLlJBnq4Edxl/o6vq260wdpf6QeohZurU9qHVzQbpf4suIiRFgxH34DpiIjMUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPts9vCgkMnfAZ2XeEUZB7VNdVrG71BHxtSNShtXpDrQIhAO/qr2D9DAS2NVu0U2GCHJRLmuB+o0NKCSqnOhi6CTtu"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.0.3.tgz_1461596355812_0.18293681740760803"}},"1.1.0":{"name":"needs-params","version":"1.1.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.0"},"gitHead":"1b300d2f94721413ed255281bd153773a39ae787","_id":"needs-params@1.1.0","_shasum":"5e50ca378295470252fcf27964350b093791acbc","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"5e50ca378295470252fcf27964350b093791acbc","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.1.0.tgz","integrity":"sha512-mxGxo5m7YMLrx65OfLQK83kk1NsAa3eZKBqrBM8xVYgns/Kc7Q8h0B0LrSKif/0egMlA9qZGR7jdrdBqJRBJaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCiVo/k1zdMA7uwtg1BMlEPVwJTQYva7k6Rro4hRKS2AiEA1d2x0Fg6pbOMVFZij3cD5ggfLG3a1ou3ozJc7s9QzLU="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.1.0.tgz_1462352353974_0.5003182387445122"}},"1.2.0":{"name":"needs-params","version":"1.2.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.0"},"gitHead":"3c9584df466e2e8c85cee772cdaa1b65929bec16","_id":"needs-params@1.2.0","_shasum":"76607eb96bd82574743ced797b8789ae34e1535e","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"76607eb96bd82574743ced797b8789ae34e1535e","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.2.0.tgz","integrity":"sha512-3qI4JbxFvJhRXy2+KhcrplY/pW6Topwlka8pmcw7+tFjYZWC4ifEzI3+RYevOxNijvbEC7aD5UvuybNalqHYJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCp68FnFEG/RyxNq5MVShuqXdij6X0YXIEkr83vOmcLyQIhAJjdPjzh/QV1t4Qdz0luZmPiyhYls++W8zSA1V2nwVKH"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.2.0.tgz_1463603980341_0.2155419886112213"}},"1.2.1":{"name":"needs-params","version":"1.2.1","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.0"},"gitHead":"a96a98e1b1f0f00c22186eddb05a1bac449b57b2","_id":"needs-params@1.2.1","_shasum":"829bf49ed72092b10c4844604610745d17490e21","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"829bf49ed72092b10c4844604610745d17490e21","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.2.1.tgz","integrity":"sha512-HJLbqwS6JjYvQKdfvmwBKGuysNc4BE+P8/j5977UigCO16ormQAMno/+l3FDdqCKyFrRvtBZGEw+txBH9o1Nlw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIANkaVXQdYEVCtu91vA3fqiQdcZ8GB4uKTcHvSgFt93lAiEArUrNUJJfKlpnceq2+QWS8dmIouByTUICLEKAcmLt+3s="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.2.1.tgz_1463611905770_0.4673716826364398"}},"1.3.0":{"name":"needs-params","version":"1.3.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.1"},"gitHead":"a823a101c4bc49eda8f294d2fa024a1bebf61afd","_id":"needs-params@1.3.0","_shasum":"599990ade02d93cf6e95fdf1524347415674004e","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"599990ade02d93cf6e95fdf1524347415674004e","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.0.tgz","integrity":"sha512-rBT9CO+GHKK87SgEgda20xiGmAnlYZugu6ZRpmYpPxBEgdcgPh888rnE+twfhhdlSOdouq6l/mtStjOPA3jSVQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXH9VwWAzlAetCg/vAONoxlYaO9RbZyt/u3Ge8a407YgIgadJyXYY6o0P8J4r8zWVNEI6sBa3vLJldSvBofl5jfFs="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.0.tgz_1464986338615_0.39810013119131327"}},"1.3.1":{"name":"needs-params","version":"1.3.1","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.1"},"gitHead":"581293a37dcadfa9153d7454d3b4648724c97a18","_id":"needs-params@1.3.1","_shasum":"baf7f1196d5be761a782773b7ed497f61dd0c01a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"baf7f1196d5be761a782773b7ed497f61dd0c01a","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.1.tgz","integrity":"sha512-ABjtzcntRy4nDaUsqqJYkDThKKLNLP8DbicGjEqWQmwoH560dSMO+oEp6HE6nUMjgX0nvyM+rS1wJGyN/Hh5sA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvIAWNA4Z9G6CR41gHrPNAsZElcsUsREkr9vcdz6Ke0gIhAJi+DCDikQcyHfI08HNewsvGQ/Qow0CCsrV/CSt6mw28"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.1.tgz_1464988602683_0.5005524829030037"}},"1.3.2":{"name":"needs-params","version":"1.3.2","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.1"},"gitHead":"457a3f9079d8cc7734c21f430c4383d0be36aeb6","_id":"needs-params@1.3.2","_shasum":"5216f4b7797382dcc1a8a26fbb4210424871a433","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"5216f4b7797382dcc1a8a26fbb4210424871a433","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.2.tgz","integrity":"sha512-VY88OB0ZsSFB66nl3vCv1Iao3Xid8GtLbyimVWlPMqP6Fb30on5glrBEqTuybdY2awfsm+UMsmfRHRDP57qJ+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlFzbOLzBTNADpYrVWBSteMcvy1wiWYVRYe9oO39EVpAiAzraWro0BSu6TzElQWvLUS18TSSiDSvLH4paprkxrWhw=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.2.tgz_1464989764985_0.43500682222656906"}},"1.3.3":{"name":"needs-params","version":"1.3.3","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.1"},"gitHead":"e54536d0dd76098116037cbb5082ede2b2c5b3eb","_id":"needs-params@1.3.3","_shasum":"de094f5ee844b36d626ec3e82316ecb8127a885a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"de094f5ee844b36d626ec3e82316ecb8127a885a","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.3.tgz","integrity":"sha512-fFVpJ6GMgeq6PSmm9xr7SG0HvNqkYhvlHP03ELDE/CwiZqo1F2slq+LU6mNxwbdbiBzvCV2dt68C3b4/2lHAbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGQIb59RfsJv1uG5JgfzHCtgQVYHZrMascSmgf5UNKVZAiBpWNayx6mWkVdlWEfhLG/9yuXNb85Fu3xHapLPvVxb9g=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.3.tgz_1464990151738_0.9952772022224963"}},"1.3.4":{"name":"needs-params","version":"1.3.4","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"body-parser":"^1.15.1"},"gitHead":"35db6aa671e1f4b62f8e510136be1aa4a51bb536","_id":"needs-params@1.3.4","_shasum":"044198cdbc8fdf3174729191f98340de44abbb8c","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"044198cdbc8fdf3174729191f98340de44abbb8c","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.4.tgz","integrity":"sha512-h+MP+rUSlBnQ80iGS4hTlTEqBujKfcn3ypIVISuHOLPikUUv0sK+tmTdEY1zcO9hxevfTHIxFMKGf4bO6PUHbA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICM84kRu+9SH65JrPUBuACi/TYPCFUGnrpCdrpAUdouGAiEAgytLWC3urqADOn86jSW5QiSO3zPWjKDRJpeE+u6t0TQ="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.4.tgz_1465080809278_0.7244424985256046"}},"1.3.5":{"name":"needs-params","version":"1.3.5","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"3aeeddd2f8c78b2471b54ff400c801131b676edc","_id":"needs-params@1.3.5","_shasum":"25c8bfcf47b3f0363f4c4242c66c4dbc7f8c8b99","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"25c8bfcf47b3f0363f4c4242c66c4dbc7f8c8b99","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.5.tgz","integrity":"sha512-st/7AfVkXmq3Y+VZoDUW5K1HsBvujelgFVrrjytSPZATs/+ptvdzGLDpz4bJq4VPw7KyfiI8lyodecs/M8nBFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC0RfKJcESMOSuW6AZorZ96OagzKz86MMgOzTwQz8g8dAiEA0w3LsEgX7tZcbZDWH3J1e/4lQ3xYS1jKaEBlnca44Hg="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.3.5.tgz_1465085203429_0.6981371287256479"}},"1.3.5-r2":{"name":"needs-params","version":"1.3.5-r2","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"cd1a561154be95793eba0a8fe665ccaf800ed243","_id":"needs-params@1.3.5-r2","_shasum":"09f70e00d2e29dcc965571ef270a0f3a9f52d8c2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"09f70e00d2e29dcc965571ef270a0f3a9f52d8c2","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.5-r2.tgz","integrity":"sha512-VEqXrAMPyTNcbbvGjKKd3g2gExImB8lfyduMMtdlXs+/q1aVkwlgmtj8AR47nE5xnbZUZvkVcALkis8apr1QbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMV/Cebh4yA9MIOuI9LQdzWHD8NKP1Q/PwupPy3CxLoQIgbPA55gc2gKp0h331CjEGxO0wqzHsp3QI742ke9gdH/s="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.5-r2.tgz_1465087000386_0.6056720691267401"}},"1.3.5-r3":{"name":"needs-params","version":"1.3.5-r3","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"b6f0823beab0295f7e6f1db2b60012b5fa341d61","_id":"needs-params@1.3.5-r3","_shasum":"a9394ff972faad2a38136b2f3c7ef18c350fef6c","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"a9394ff972faad2a38136b2f3c7ef18c350fef6c","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.5-r3.tgz","integrity":"sha512-DiVER/cYw7+ilj6L9FVDozWwk5Lz3AOvJa1GIf4KdeohAncB3Ydnad1PI14OEfTNUghWi1W+k4nx1OUsm/HuqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3MbYVvUh/U+I8nkJdj4INOqcIr3srn6RBK6AgDM9f2AiEA8csrQ5hSOBFIq4202T6eaGifABXq/mgPEsWWZ1Rke/I="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.3.5-r3.tgz_1466444779084_0.7503100328613073"}},"1.3.6":{"name":"needs-params","version":"1.3.6","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"1d42815c69ad8f7e832ab19f0427c541fc148f6b","_id":"needs-params@1.3.6","_shasum":"1babedcbdb79d00da4c0a5ee6fe1171fdb8b8a68","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"1babedcbdb79d00da4c0a5ee6fe1171fdb8b8a68","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.6.tgz","integrity":"sha512-g5fLTbfgDzSg5Z9MzcX/fUsdBnPQdIO50vdC7yc972S+r3xFin3it2cC1c9GjMUZjNO5ivt7gXxYp/kSU1LtfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB2kTXxvd5fWVFIobrYoX/rQBg0pXWvuIRj6JnQy6WC2AiEArO3uo2CCx5d3mGFR1nSjisCwk3UpExObtgPAko2sJRQ="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.6.tgz_1467998431094_0.12166158901527524"}},"1.3.6-r2":{"name":"needs-params","version":"1.3.6-r2","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"25f041ab4cf436f96cf14c260cc91eeadaf2733a","_id":"needs-params@1.3.6-r2","_shasum":"a85e60cc26dfccf7abaf2051185a734bcfbea3bd","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"a85e60cc26dfccf7abaf2051185a734bcfbea3bd","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.6-r2.tgz","integrity":"sha512-FZbDnJM8sES2nVvirdDR6vbtKPOunFmzVC/0QcSYljF21dmqr0bSmAXy/U8MOyT5s7SY9EgdIQFNVtZV/ZT3Qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsVnRGL8il1eAt3JusJPjJSGZNOvpYiIHm1z1assUUBAiEApFk7gh6Xnsmg3ArlW2X8iy7MtZ6lwgPuWgWQeDeJ4hI="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-1.3.6-r2.tgz_1468249766049_0.1449472561944276"}},"1.3.7":{"name":"needs-params","version":"1.3.7","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"fa61f925705a4af0dce3aafca320e608fd3c4296","_id":"needs-params@1.3.7","_shasum":"61f1c10fe6d50fac0970e1366f76b5bb11a43ac1","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"61f1c10fe6d50fac0970e1366f76b5bb11a43ac1","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-1.3.7.tgz","integrity":"sha512-WLDsa6azS3l/8CPWp/J/bqaMgD7foUjr/r/qMhalVDVGo8rM/dOeYjxan7pbWLllqbUxZVTDzhsZviFq2FBXJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGqo8++zNhxga0pT4KlF6TaWrbKsx2ky5vvPjrfwkZVKAiBPlxFKWRNIwDl1n2gPoBYrt2F1Wy1t+Kf7gZC86Zy4TQ=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-1.3.7.tgz_1468945713720_0.1677824689541012"}},"2.0.0":{"name":"needs-params","version":"2.0.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"c16fb4968049ea6b1dfe1531c5f99510204dd803","_id":"needs-params@2.0.0","_shasum":"5fe871acdb1a4c6bb551b6148615acb38ff9496e","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"5fe871acdb1a4c6bb551b6148615acb38ff9496e","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.0.tgz","integrity":"sha512-i+G+rvTKfyfNQZTmjyvLqWKNH614n6VY+E81czGFvj/6pD5iIxpORMHdECFCXdngczjmjNpPlYtB5Yw+rGMLWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8t+zr7tBV2dDxjFGQmpaID6fwAdvmHLtHxvuRLpHjYgIhAPZjIed563lNQkB7P1zsUf73EZBSKhwjmc6xRD3Ubv9N"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-2.0.0.tgz_1469326141516_0.7384672528132796"}},"2.0.1":{"name":"needs-params","version":"2.0.1","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"3f2f03fba4cff8378b3d484b3d00036ee0f9a0c5","_id":"needs-params@2.0.1","_shasum":"fe702b56d8b28470deda77d5fe780bfe824a8f7a","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"fe702b56d8b28470deda77d5fe780bfe824a8f7a","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.1.tgz","integrity":"sha512-52SjYwW0jZMo22ojNU011aEIgggjFhb9PlirBcHH8xQ53Wv3amW1it35ru+GGJc1gTPk12xhRS2QGb/UubsEjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdPaxJrVs2AAvNnvLAxN+Q0M1njGJC2FkRzq+pHjGJkwIgbNauDoSf23WHTDVYKchhoSUfWVktF9n9bswrMUVXwbs="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-2.0.1.tgz_1469326670388_0.5609656197484583"}},"2.0.2":{"name":"needs-params","version":"2.0.2","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"1ccf8d9cb5f200d6ec1a98784c2ac768a8cab7aa","_id":"needs-params@2.0.2","_shasum":"7bb3e43687c775a627b7833a17cfa9b8a344b899","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"7bb3e43687c775a627b7833a17cfa9b8a344b899","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.2.tgz","integrity":"sha512-ism5dSq+VuPfRz5Bhpax9rxrZaMvuFWTaP7iPifyX1b7OLze1b6SRLocqm3oIvhk7vjWiYdBiKjjubBhihyn/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArTzmQRPNqSRyOMH7mrZlLx9H/VgIHsiQpdzaallE0+AiB4rui9E7Pio4M0oIDpi2okm82YXL50B4wh0fNXLDf6nA=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-2.0.2.tgz_1469336631453_0.14247547974810004"}},"2.0.3":{"name":"needs-params","version":"2.0.3","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"ca3cee8949b63e7b61a1f99c03702470812f7f56","_id":"needs-params@2.0.3","_shasum":"85a8fc56358c014f24ca1a5f7c6a260f22ad4a78","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"85a8fc56358c014f24ca1a5f7c6a260f22ad4a78","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.3.tgz","integrity":"sha512-f4XcAUpD2mwLqplK753SyLyP4hZN/eDyf8XvjwwNh+OUmvfiYRpO91Ti9f7nfYMI4ip78Z3gii3/TDpQCtvvtA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGMbTrl81xDL898+fIrgT6bVaWK4d+Djwn+a7FWJ5d1AiEAwLeZBLZZ2uboDpglJOxb4/xqHQDEaz+hWUwsn4v2qt8="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-2.0.3.tgz_1469408822775_0.9166284501552582"}},"2.0.4":{"name":"needs-params","version":"2.0.4","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"4e261beca99e28f1b3b329c316b3989f6769aae8","_id":"needs-params@2.0.4","_shasum":"513ae0f3f51254fb7f2ae49e718ccd92edb25d88","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"513ae0f3f51254fb7f2ae49e718ccd92edb25d88","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.4.tgz","integrity":"sha512-MLTweLSgye2AR28NQG43rFICsQiZKlKYLFDaAPgUjPgPGec96urETcALPHd9wPSxMGrzhJtRVgJ+9WRZlSAQJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLsdRFRz1swd2u3YIkHWchIBKfW5apDVAzsYTEmTiLoQIgXSmRi9Xf31ChpMBiUgiGso/wvNxdjmw4wa8BfAimowY="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-2.0.4.tgz_1469912792893_0.005696391221135855"}},"2.0.5":{"name":"needs-params","version":"2.0.5","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"add609b1421dee84a2926568dd6c0eb13a3c2eaa","_id":"needs-params@2.0.5","_shasum":"144729d311470c713e1855ed483c34b4900bce39","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"144729d311470c713e1855ed483c34b4900bce39","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.5.tgz","integrity":"sha512-SzH5psebQE0Ex7csTlodwP1YsVk8vZxBSLeWYCtAOzUllg5E6oDmrni3Pu19PS38yisfW2gK0GspvyB/c9Hnsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIR5qWZXKqnxYohjuM3+SIgTgE+dpYeJpZnZ80Ed8mOwIhAMtQNWVMS/GRZZfeaqyqfAdqZx6+gtiaQECjyAxcH3m/"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-2.0.5.tgz_1469921088041_0.2675212761387229"}},"2.0.6":{"name":"needs-params","version":"2.0.6","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"9c0614123e7994c4d99a74b408f31ff5732574d1","_id":"needs-params@2.0.6","_shasum":"33e702383b485d331655ecdd58966708df8678df","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"33e702383b485d331655ecdd58966708df8678df","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.6.tgz","integrity":"sha512-NVuzUL6ExSIYrEZM/TW0UnQG4THWZZ4QBOJtRZqjNuQ/tzfGxOX+QjNC4BbtGQ99Lx9n891ABvUOYRyQK4ASAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9OR5//p+uKUKlXCK9YBZ5dhpEhyTMmHsP4765bZcHNwIga4eIrxsR9p+6N1mm3/JWU6hyFhMc0psE1niu5npRWtA="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-2.0.6.tgz_1471280905013_0.4402832572814077"}},"2.0.7":{"name":"needs-params","version":"2.0.7","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"ce041e63be636487457aa9a43cb7ea944a4ba7a8","_id":"needs-params@2.0.7","_shasum":"2fc5b8132b24e87a06c2a8573858229e25da6cf7","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"2fc5b8132b24e87a06c2a8573858229e25da6cf7","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.7.tgz","integrity":"sha512-VHh8K+qvHS5+5pDREVwSk5od//K4+b8U1vMdkw0abeCZ7etcqP7CUYWgm52g69ExUDALZF74BnWhLfj9teyNEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA5LEwzS4t4hN5m15jNXpGz5W+9pR3mnRCXxOrXIslGMAiEA3onKCxDpgKL1JS9kS3Ai4o9w35uixzJ4GBOQHqssdWQ="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-2.0.7.tgz_1471444990254_0.8939119887072593"}},"2.0.8":{"name":"needs-params","version":"2.0.8","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1","body-parser":"^1.15.1"},"gitHead":"1cca88cad133346d7855305623e09e1ca9e2baa1","_id":"needs-params@2.0.8","_shasum":"bdec0288ea2e6822f49cb0a81c8bedb1559465ac","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"bdec0288ea2e6822f49cb0a81c8bedb1559465ac","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-2.0.8.tgz","integrity":"sha512-glcNJ0lLoiuGJZhamvgEU3pv2FkyTbJ3KneeQRforqaS7sXrx3eop6YHNXZfwsTLxCy90tav+7nrxL5rJ184dQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmvbhs5j8aJ8YkVBSV2RLV4KEt3BfSYtlUvdBqqJXeQAiApm4C0PiP7eDp4lcp6WTQKik2frMmSoQB5a+eloBR+Cw=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-2.0.8.tgz_1472241710210_0.39996093581430614"}},"3.0.0":{"name":"needs-params","version":"3.0.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"bd1b19e33017036e725053f8bc415d5e96c7a7a8","_id":"needs-params@3.0.0","_shasum":"6c73d57c03ec4e300ed048dc85bbac9b2c106165","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"6c73d57c03ec4e300ed048dc85bbac9b2c106165","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.0.0.tgz","integrity":"sha512-3c34ICVrehMgDLoW+xX3DZFQdObmGe7Y8P3b9k5bQ25gDxlYetQ71g25OUucb7fBssUzjtll9VpKYM6SUaSu2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/SYuIy6CnlgI3IzjlXfxL8M5scYXZUhYUPoEueYEAfAiEA915qoZAr4AwE5QN5cRdqU8YlFAN/DvDte/ewISN6yog="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-3.0.0.tgz_1472757265039_0.7937681402545422"}},"3.0.1":{"name":"needs-params","version":"3.0.1","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"f1b385fa351282c312315b0d0dfe04d6f5449570","_id":"needs-params@3.0.1","_shasum":"ff86fb97f3ca5917573f36b07ea95c068c6726e2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"ff86fb97f3ca5917573f36b07ea95c068c6726e2","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.0.1.tgz","integrity":"sha512-f4nxu6oRLwE+g/2tEu0BXoraGotlJtrYgnByiW2rSsZYNGtqeqfGAqnFB1I/tsOYu3eRzhBGGTxYpqYOIqcj8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBNm7mnYQhDSBFVKfk20AcPh4ree+oNBvDKCmIfETCp8AiAWAf9sb45pmuQQ1vSx5yGvJzfRf+YJzZ90KGXA9CxPKw=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/needs-params-3.0.1.tgz_1472834069653_0.9035075050778687"}},"3.0.2":{"name":"needs-params","version":"3.0.2","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"b9f0b4e66914643c60651051805ff6cf80690770","_id":"needs-params@3.0.2","_shasum":"cca401179a196f3f26afaec9861c6c45b3a0f75d","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"cca401179a196f3f26afaec9861c6c45b3a0f75d","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.0.2.tgz","integrity":"sha512-Jbb+rGySLV98a3Gwk1Ep63gvJ2c/BEyG576I8Q5CO9Ni8qfUNAJc+46hzEB3TTlPjdDJ2plALbwB2na6WAaybA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhZ6VhaDDn9JItNzl6xRZNqYrC6VGFGF8RQfRhZ2k1+gIgD7oNlWqy4TM4xJfTxLvIg+wYo3Tu5Fzdpumtx/aBkTQ="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-3.0.2.tgz_1472834187220_0.7742248098365963"}},"3.0.3":{"name":"needs-params","version":"3.0.3","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"49d83b31f4e8f3d1de73f6c0da9507bce9b548b6","_id":"needs-params@3.0.3","_shasum":"eeca99b3c92f01b67272ad0e0a37968a85e187dd","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"eeca99b3c92f01b67272ad0e0a37968a85e187dd","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.0.3.tgz","integrity":"sha512-clZ5R+b0kp5LT79ILDSBaz1iJPX0pcUHVUrgkFZeXusZCWSczK6WpMxH47JbM0psAOLYquVSDTqVF1VdbQbsSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEx0ryO8MmaRNxeJ5crEuw1GfmtOW6afCrZM2DlXJGnlAiBWA/GOGXoI82zB/HmnY4LQU8me7/lkoL2ljOEcPxleKw=="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/needs-params-3.0.3.tgz_1476885102044_0.751905812183395"}},"3.1.0":{"name":"needs-params","version":"3.1.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"3d36f6345604ddde441eeb0a2ba2073e9e8ac896","_id":"needs-params@3.1.0","_shasum":"bfb67148220825429d06fc38abe91e5937aa2ec3","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"bfb67148220825429d06fc38abe91e5937aa2ec3","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.1.0.tgz","integrity":"sha512-ArKYmQpDYWwZQILSa0go07Ojq+Alq7FhKtsl+/+iDHS/bF8UgRb3IiQH/s234SVHA+hieRTmwoli1ipPx8quHQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvqTkdO2ygC4RXBBnwtJ2MwRXwm61LOuU+v1wVS7YW2wIgatmbVon6T6K18ewQwKhQ0d7z8Oer8Dj9mlH5tqWlly8="}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/needs-params-3.1.0.tgz_1485529394756_0.15505479834973812"}},"3.2.0":{"name":"needs-params","version":"3.2.0","description":"Generates Express middleware that formats and enforces a parameter scheme","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"keywords":["parameter","param","checker","validator","express","needs"],"author":{"name":"terpak"},"license":"MIT","bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"homepage":"https://github.com/miketerpak/needs-params#readme","dependencies":{"lodash":"^4.13.1"},"gitHead":"7039368a6b372623535f0a9115897d3d20c99d56","_id":"needs-params@3.2.0","_shasum":"1729b748b601d29763037ea436bfa5440366503f","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"terpak","email":"michaelterpak+npm@gmail.com"},"dist":{"shasum":"1729b748b601d29763037ea436bfa5440366503f","tarball":"https://registry.npmjs.org/needs-params/-/needs-params-3.2.0.tgz","integrity":"sha512-6kh38hK1nLHpcTkeb9JGkeUMUFCKNapHQib9mMpvD7dN/QqcPXb47eeSO2Cn860pOrDzTEnvLnMuF/6d+8w4Gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD01PGfxcFXF2qkyaB0buk5x3w8vb1klMGOa5x6A9A1/AIhAMIv3T5oJGEuG5H+vODxmC7UUfmvG0Ei1izMZE7xnd+v"}]},"maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/needs-params-3.2.0.tgz_1498675337269_0.6258869986049831"}}},"readme":"# needs-params\r\n\r\nExpress parameter formatting and validation\r\n\r\n## Install\r\n\r\n    npm install needs-params\r\n    \r\n### Initialization\r\n\r\n    var needs = require('needs-params')(options)\r\n    \r\n## Usage\r\n\r\n**needs-params** applies parameter formatting and validation on the body, query string, spat or headers of the request, using `needs.body`, `needs.querystring`, `needs.spat` and `needs.headers`, respectively.\r\n\r\n**NOTE** needs-params does not parse request bodies, headers, querystrings or spat.  It relies on the Express.JS format of using `req.body`, `req.query`, `req.spat` and `req.headers` to store request information. \r\n\r\n\r\n#### `options`\r\n\r\n`options.strict` \t- Returns an error when unexpected parameters are received, default `true`\r\n\r\n\r\n#### Error Codes\r\n\r\nThese are the error codes build into needs-params.\r\n\r\nErrors are returned in the form of a `NeedsError`, which is an extension of the regular `Error` object.\r\n\r\nWhen creating custom mutators, you can use custom errors as seen in *Custom mutator example*.\r\n\r\nParameters:\r\n\r\nparam_names - Comma seperated array string of invalid parameters\r\nparam_value - The value of the invalid parameter\r\nmessage - Text describing error\r\nname - One of the following types:\r\n* `invalid-value` - The value of the parameter is not valid\r\n* `param-unexpected` - An unexpected parameter was sent\r\n* `param-expected` - A required parameter is missing\r\n* `invalid-length` - The object length (string, array, etc.) is invalid\r\n\r\n### Generate parameter middleware\r\n\r\n    var param_middleware = needs.body(scheme)\r\n\r\n#### `scheme`\r\n\r\nSchemes with an underscore (`_`) at the end of the key mark parameters which are **not required** by the route (i.e. `age_: 'int'`)\r\n\r\nScheme values are strings which define the data type expected for a parameter, using existing mutators to validate\r\nand format the value. Appending `[]` to the *type string* creates an array value, and placing a number within the\r\nbrackets requires all submitted arrays to be of the given size (i.e. `coordinates: 'float[2]')\r\n\r\nThe following are a list of the valid *type strings*:\r\n* `int` `integer`                   - Whole number (takes floor if not whole)\r\n* `bool` `boolean`                  - Boolean, acceptable values include `t`, `true`, `1` and `f`, `false`, `0`, `-1`\r\n* `strX` `stringX`                  - String value.  X is an optional max length\r\n* `null`                            - Null value, including `null`, `\"null\"` (case-insensitive), `\"%00\"`, `\"\"`\r\n* `float` `num` `numeric` `number`  - Floating point number\r\n* `date` `time` `datetime`          - JS Date object, accepts millisecond timestamps and formatted datetime strings\r\n* `object` `obj`                    - Any valid JS object.  Note, when using `object`, there is no control over the content of the object. If this control is required, please use a nested `needs.params` scheme (see example).\r\n\r\nA scheme value can also be one of the following special values:\r\n* **a numerical range**             - A inclusive/exclusive range can be specified with `[min, max]`/`(min, max)` respectively. Exclusivity can be mixed (i.e. `(min, max]`)\r\n* **a regular expression**          - Validates the parameter value against the provided regular expression\r\n* **another needs middleware**      - Applies the passed scheme to the subobject in the master scheme. Function used to create the middleware does not matter. For example, you can use a `needs.querystring` middleware inside of a `needs.body` definition.\r\n* **a function**                    - Custom mutator which takes 1 argument--the param value--and must return the parameter value on success, undefined on generic failure, or the following scheme for providing custom error fields: `[value,err]`.  see *Custom mutator example*\r\n* **an array**                      - You can also provide an array of values. Only the contents of the array will be considered valid values\r\n* **a double array ([[]])**         - An array is a double array if and only if the outer array contains a single inner array, and nothing more (e.g. `[[1, 2, 3]] or [[[1,2],[[3,4]],5]]`).\r\n                                    Double arrays contain a set of schemes, of which at **at least 1** of the schemes must be satisfied.  They are tried in ascending order by index.\r\n\r\n##### Custom mutator example\r\n\r\n```javascript\r\nneeds.body({\r\n    birthyear: year => {\r\n        year = parseInt(year, 10)\r\n        if (isNaN(year)) return new Error('Invalid value for year') // Return empty error object for default type and message\r\n        if (year < 0) return new Error('A year must be positive') // Custom error message for negative numbers (default `invalid-value` error code)\r\n        if (year > new Date().getFullYear()) return new Error('You cannot have been born in the future' ) // Custom error type and message for special case\r\n        if (year < new Date().getFullYear() - 150) return new Error('You are not over 150 years old') // Custom error type and message for special case\r\n        // NOTE you can also supply parameters other than `code` and `msg` that will be forwarded to `onError`\r\n\r\n        return year // success!\r\n        // NOTE the [value, error] scheme only has to be used when returning custom error messages.\r\n        //      otherwise, return the value on success, or undefined for a generic `invalid parameter` failure\r\n    }\r\n})\r\n```\r\n\r\n##### scheme example\r\n```javascript\r\n{   // Scheme for user registration\r\n    username: new RegExp('^[A-Za-z0-9_-]{5,16}$'), // Username regex\r\n    email: 'str256',   // Required string\r\n    password: utils.hashPassword,   // Custom mutator, returns null on invalid value, else mutated value\r\n    country: [ 'us', 'ca' ], // Set of permitted countries\r\n    age_: [[\r\n        '(0, 120]', // Acceptable date range\r\n        'date',\r\n        { d: 'int', m: 'int', y: 'int' }\r\n    ]], // Optional age, accepting an int, isodate, or the provided date schema\r\n    location_: { // Optional object\r\n        address_: 'str', // Optional string\r\n        coordinates: 'float[2]' // Int array of size 2, required only if `location` is set\r\n    },\r\n    verified: 'bool', // Required boolean\r\n    pagination_: needs.body({\r\n        limit: 'int',\r\n        last_: 'int'\r\n    }) // Using middleware generated from needs. In real use, this would be created separately\r\n}\r\n```\r\n\r\n### Combining middleware\r\n\r\n```javascript\r\nlet pagination_middleware = needs.querystring(...)\r\n...\r\nlet param_middleware = needs.querystring(...).including(pagination_middleware)\r\n```\r\n\r\nYou can merge the schemes of two middlewares together.  This is different from simply applying one middleware after\r\nthe other in that any included middlewares are recursively merged into the original middleware so that any scheme\r\napplied in the original is not overwritten by any subsequent inclusions.\r\n\r\n#### For example...\r\n``` javascript\r\n{ // pagination_scheme\r\n    limit: 'int',\r\n    last_: 'int'\r\n}\r\n\r\n{ // object_scheme\r\n    objectParam: {\r\n        field1: 'date',\r\n        field3_: 'bool'\r\n    }\r\n}\r\n\r\n{ // search_scheme\r\n    query: 'str',\r\n    sortBy: 'str',\r\n    last_: 'str',\r\n    \r\n    objectParam: {\r\n        field1_: 'date',\r\n        field2: 'float'\r\n    }\r\n}\r\n\r\n{ // search_scheme.including(pagination_scheme).including(object_scheme)\r\n    query: 'str',\r\n    sortBy: 'str',\r\n    last_: 'str',\r\n    limit: 'int',\r\n    \r\n    objectParam: {\r\n        field1_: 'date',\r\n        field2: 'float',\r\n        field3_: 'bool'\r\n    }\r\n}\r\n```\r\n\r\n### Predefined middleware: `needs.no`\r\n\r\nThese preset middlewares are used to require that no values be sent \r\n\r\n`needs.no.body` - Don't accept any parameters in the body\r\n\r\n`needs.no.querystring` - Don't accept any parameters in the querystring\r\n\r\n`needs.no.spat` - Don't accept any parameters in the URL\r\n\r\n`needs.no.headers` - Don't accept any headers\r\n\r\n\r\n### Full Example\r\n```javascript\r\nvar needs = require('needs-params')()\r\nvar express = require('express')\r\nvar bodyParser = require('body-parser')\r\nvar bcrypt = require('bcrypt')\r\nvar app = express()\r\nvar needs_pagination = needs.querystring({\r\n    limit: 'int',\r\n    last_: 'int'  \r\n})\r\n    \r\napp.use(bodyParser.json({strict: true}))\r\napp.use(bodyParser.urlencoded({extended: true}))\r\n\r\n// Custom mutator.  MUST take single param, return new value\r\nfunction hashPassword(password) {\r\n    password = String(password)\r\n    if (password.length < 6) return\r\n    return bcrypt.hashSync(password, 10)\r\n}\r\n\r\nvar register_params = needs.body({\r\n    email: 'str256',\r\n    password: hashPassword,\r\n    country: [ 'us', 'ca' ],\r\n    age_: 'int',\r\n    location_: {\r\n        address_: 'str',\r\n        coordinates: 'float[2]'\r\n    },\r\n    verified: 'bool'\r\n})\r\napp.post('/user/register', register_params, function (req, res) {\r\n  // register user\r\n})\r\n\r\napp.post('/user/me', needs.no.body, function (req, res) {\r\n  // return self\r\n})\r\n\r\napp.get('/user/find',\r\n    needs.querystring({\r\n        query: 'str',\r\n        pagination_: needs_pagination\r\n    }),\r\n    function (req, res) {\r\n        // search for users\r\n    }\r\n)\r\n\r\n// Error handler\r\napp.use(function(err, req, res, next) {\r\n    req.status(400).send(err)\r\n})\r\n```\r\n\r\n\r\n### In-Depth Example\r\n\r\nThe following example uses a universal searching endpoint.  Users can query all objects based on\r\nthe base parameters.  You can also exclude object types by passing `[object_type]=false`, OR \r\nquery that object seperately with a seperate set of query data passed in as an object to the\r\n`object_type` parameter.\r\n\r\n```javascript\r\nvar needs = require('needs-params')()\r\nvar express = require('express')\r\nvar bodyParser = require('body-parser')\r\nvar app = express()\r\n    \r\napp.use(bodyParser.json({strict: true}))\r\napp.use(bodyParser.urlencoded({extended: true}))\r\n\r\nvar pagination = needs.querystring({\r\n    limit: 'int',\r\n    last_: 'int',\r\n    order_: ['asc', 'desc']\r\n})\r\nvar search_query_params = needs.querystring({\r\n    query: 'str',\r\n    location_: {\r\n        street_: 'str',\r\n        city_: 'str',\r\n        county_: 'str',\r\n        state_: 'str2',\r\n        country_: 'str'\r\n    },\r\n    before_: 'datetime',\r\n    after_: 'datetime'\r\n}).including(pagination)\r\nvar search_params = search_query_params.including({\r\n    users_:         [['bool', search_query_params]], // false = don't return\r\n    cars_:          [['bool', search_query_params]],\r\n    dealerships_:   [['bool', search_query_params]]\r\n})\r\napp.get('/search', search_params, function (req, res) {\r\n    // search for users\r\n})\r\n\r\n// Error handler\r\napp.use(function(err, req, res, next) {\r\n    req.status(400).send(err)\r\n})\r\n```\r\n\r\n## License\r\n[MIT](https://raw.githubusercontent.com/miketerpak/needs-params/master/LICENSE)\r\n","maintainers":[{"name":"terpak","email":"michaelterpak+npm@gmail.com"}],"time":{"modified":"2022-06-20T23:43:54.722Z","created":"2016-04-07T16:31:38.109Z","1.0.0":"2016-04-07T16:31:38.109Z","1.0.1":"2016-04-22T20:20:41.443Z","1.0.2":"2016-04-22T20:33:37.165Z","1.0.3":"2016-04-25T14:59:18.482Z","1.1.0":"2016-05-04T08:59:15.255Z","1.2.0":"2016-05-18T20:39:43.316Z","1.2.1":"2016-05-18T22:51:48.116Z","1.3.0":"2016-06-03T20:39:00.164Z","1.3.1":"2016-06-03T21:16:44.249Z","1.3.2":"2016-06-03T21:36:06.461Z","1.3.3":"2016-06-03T21:42:33.405Z","1.3.4":"2016-06-04T22:53:31.061Z","1.3.5":"2016-06-05T00:06:45.741Z","1.3.5-r2":"2016-06-05T00:36:42.441Z","1.3.5-r3":"2016-06-20T17:46:21.348Z","1.3.6":"2016-07-08T17:20:32.420Z","1.3.6-r2":"2016-07-11T15:09:27.461Z","1.3.7":"2016-07-19T16:28:35.549Z","2.0.0":"2016-07-24T02:09:03.588Z","2.0.1":"2016-07-24T02:17:52.307Z","2.0.2":"2016-07-24T05:03:53.488Z","2.0.3":"2016-07-25T01:07:05.086Z","2.0.4":"2016-07-30T21:06:34.572Z","2.0.5":"2016-07-30T23:24:50.073Z","2.0.6":"2016-08-15T17:08:27.098Z","2.0.7":"2016-08-17T14:43:11.090Z","2.0.8":"2016-08-26T20:01:51.927Z","3.0.0":"2016-09-01T19:14:27.227Z","3.0.1":"2016-09-02T16:34:32.082Z","3.0.2":"2016-09-02T16:36:29.092Z","3.0.3":"2016-10-19T13:51:43.881Z","3.1.0":"2017-01-27T15:03:15.554Z","3.2.0":"2017-06-28T18:42:18.346Z"},"homepage":"https://github.com/miketerpak/needs-params#readme","keywords":["parameter","param","checker","validator","express","needs"],"repository":{"type":"git","url":"git+https://github.com/miketerpak/needs-params.git"},"author":{"name":"terpak"},"bugs":{"url":"https://github.com/miketerpak/needs-params/issues"},"license":"MIT","readmeFilename":"README.md"}