| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- "use strict";
 
- var hasOwnProperty = Object.prototype.hasOwnProperty;
 
- function parseQuery(urlObj, options)
 
- {
 
- 	urlObj.query.string.full = stringify(urlObj.query.object, false);
 
- 	
 
- 	// TWEAK :: condition only for speed optimization
 
- 	if (options.removeEmptyQueries)
 
- 	{
 
- 		urlObj.query.string.stripped = stringify(urlObj.query.object, true);
 
- 	}
 
- }
 
- function stringify(queryObj, removeEmptyQueries)
 
- {
 
- 	var count = 0;
 
- 	var str = "";
 
- 	
 
- 	for (var i in queryObj)
 
- 	{
 
- 		if ( i!=="" && hasOwnProperty.call(queryObj, i)===true )
 
- 		{
 
- 			var value = queryObj[i];
 
- 			
 
- 			if (value !== "" || !removeEmptyQueries)
 
- 			{
 
- 				str += (++count===1) ? "?" : "&";
 
- 				
 
- 				i = encodeURIComponent(i);
 
- 				
 
- 				if (value !== "")
 
- 				{
 
- 					str += i +"="+ encodeURIComponent(value).replace(/%20/g,"+");
 
- 				}
 
- 				else
 
- 				{
 
- 					str += i;
 
- 				}
 
- 			}
 
- 		}
 
- 	}
 
- 	
 
- 	return str;
 
- }
 
- module.exports = parseQuery;
 
 
  |