4.0.0 • Published 7 years ago
tiny-params v4.0.0
tiny-params
A tiny URL param parser, suitable for server or browser
highlights
- it's tiny (< 25 sloc)
- it's highly browser compatible (IE6 and everything else)
- it ships with both ES6 and CommonJS modules
- it makes repeated keys an array
?a=1&a=2->{ a: [1, 2] } - it handles explicit arrays
?a[]=1->{ a: [1] } - it handles flags (key with no value)
?a=b&flag->{ a: 'b', flag: true } - it decodes
encodeURIComponentencoded items - it converts booleans and numbers from strings
- it converts the values
'null'and'undefined'tonull - it respects the hash (as per RFC 3986)
- it's competitively fast (not the fastest, not far from it)
lowlights
- it looks like code golf, kind of is
- it uses
decodeURIComponent(sparingly) which is slow (but highly compatible)
install
$ npm install --save tiny-paramsusage
const tinyParams = require('tiny-params')
const url = 'http://localhost:80/base/res?name=andrew&zip=37615&zip=37601'
const params = tinyParams(url)
// params === { name: 'andrew', zip: [37615, 37601] }License
MIT © Andrew Carpenter