Sha256: 9a99f6c0908ffe95483bbcb89747f3538a61c19c57a7b205c5c8c0e5824d80d1

Contents?: true

Size: 833 Bytes

Versions: 63

Compression:

Stored size: 833 Bytes

Contents

/**
 * Module dependencies.
 */

var trim = require('trim');

/**
 * Parse the given query `str`.
 *
 * @param {String} str
 * @return {Object}
 * @api public
 */

exports.parse = function(str){
  if ('string' != typeof str) return {};

  str = trim(str);
  if ('' == str) return {};

  var obj = {};
  var pairs = str.split('&');
  for (var i = 0; i < pairs.length; i++) {
    var parts = pairs[i].split('=');
    obj[parts[0]] = null == parts[1]
      ? ''
      : decodeURIComponent(parts[1]);
  }

  return obj;
};

/**
 * Stringify the given `obj`.
 *
 * @param {Object} obj
 * @return {String}
 * @api public
 */

exports.stringify = function(obj){
  if (!obj) return '';
  var pairs = [];
  for (var key in obj) {
    pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));
  }
  return pairs.join('&');
};

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
ende-0.4.25 vendor/components/component-querystring/index.js
ende-0.4.24 vendor/components/component-querystring/index.js
ende-0.4.23 vendor/components/component-querystring/index.js
ende-0.4.22 vendor/components/component-querystring/index.js
ende-0.4.21 vendor/components/component-querystring/index.js
ende-0.5.0 vendor/components/component-querystring/index.js
ende-0.4.20 vendor/components/component-querystring/index.js
ende-0.4.19 vendor/components/component-querystring/index.js
ende-0.4.18 vendor/components/component-querystring/index.js
ende-0.4.17 vendor/components/component-querystring/index.js
ende-0.4.16 vendor/components/component-querystring/index.js
ende-0.3.13 vendor/components/component-querystring/index.js
ende-0.3.12 vendor/components/component-querystring/index.js
ende-0.3.11 vendor/components/component-querystring/index.js
ende-0.4.15 vendor/components/component-querystring/index.js
ende-0.4.14 vendor/components/component-querystring/index.js
ende-0.4.13 vendor/components/component-querystring/index.js
ende-0.4.12 vendor/components/component-querystring/index.js
ende-0.4.11 vendor/components/component-querystring/index.js
ende-0.4.10 vendor/components/component-querystring/index.js