UNPKG

tiny-querystring

Version:

Tiny parsing and formatting URL query strings for Node.js and browser

27 lines (24 loc) 735 B
'use strict'; exports.__esModule = true; exports.parse = parse; exports.stringify = stringify; function parse(str) { var decode = decodeURIComponent; return (str + '').replace(/\+/g, ' ').split('&').filter(Boolean).reduce(function (obj, item, index) { var ref = item.split('='); var key = decode(ref[0] || ''); var val = decode(ref[1] || ''); var prev = obj[key]; obj[key] = prev === undefined ? val : [].concat(prev, val); return obj; }, {}); }; function stringify(obj) { var encode = encodeURIComponent; return Object.keys(obj || {}).reduce(function (arr, key) { [].concat(obj[key]).forEach(function (v) { arr.push(encode(key) + '=' + encode(v)); }); return arr; }, []).join('&').replace(/\s/g, '+'); };