Skip to content

doesdev/tiny-params

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 encodeURIComponent encoded items
  • it converts booleans and numbers from strings
  • it converts the values 'null' and 'undefined' to null
  • 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-params

usage

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

About

A tiny URL param parser, suitable for server or browser

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published