/** * @name node.querystring * @namespace * This module provides utilities for dealing with query strings. * It provides the following methods: */ goog.provide("node.querystring"); /** * @param {string} s * @param {string} decodeSpaces */ node.querystring.unescapeBuffer = function(s, decodeSpaces) { return node.querystring.core_.unescapeBuffer(s, decodeSpaces); }; /** * The unescape function used by <code>querystring.parse</code>, * provided so that it could be overridden if necessary. * @param {string} s * @param {string} decodeSpaces */ node.querystring.unescape = function(s, decodeSpaces) { return node.querystring.core_.unescape(s, decodeSpaces); }; /** * The escape function used by <code>querystring.stringify</code>, * provided so that it could be overridden if necessary. * @param {string} str */ node.querystring.escape = function(str) { return node.querystring.core_.escape(str); }; /** * @param {Object} obj * @param {string} sep * @param {string} eq * @param {string} name */ node.querystring.encode = function(obj, sep, eq, name) { return node.querystring.core_.encode(obj, sep, eq, name); }; /** * Serialize an object to a query string. * Optionally override the default separator and assignment characters. * * Example: * <pre> * querystring.stringify({foo: 'bar'}) * // returns * 'foo=bar' * * querystring.stringify({foo: 'bar', baz: 'bob'}, ';', ':') * // returns * 'foo:bar;baz:bob' * </pre> * @param {Object} obj * @param {string} sep * @param {string} eq * @param {string} name */ node.querystring.stringify = function(obj, sep, eq, name) { return node.querystring.core_.stringify(obj, sep, eq, name); }; /** * @param {string} qs * @param {string} sep * @param {string} eq */ node.querystring.decode = function(qs, sep, eq) { return node.querystring.core_.decode(qs, sep, eq); }; /** * Deserialize a query string to an object. * Optionally override the default separator and assignment characters. * * Example: * <pre> * querystring.parse('a=b&b=c') * // returns * { a: 'b', b: 'c' } * </pre> * @param {string} qs * @param {string} sep * @param {string} eq */ node.querystring.parse = function(qs, sep, eq) { return node.querystring.core_.parse(qs, sep, eq); }; /** * @private * @type {*} */ node.querystring.core_ = require("querystring");