1234567891011121314151617181920212223242526272829303132333435363738 |
- var querystring = require("querystring");
- for(var i in querystring){
- exports[i] = querystring[i];
- }
- var type = Function.prototype.call.bind(Object.prototype.toString);
- // Parse the name/value pairs of the query string into a flattened array
- // Automatically munge the parameters
- exports.parseToArray = function(arr, qs){
- var parsed = exports.parse(qs);
- for(var i in parsed){
- exports.addToArray(arr, i, parsed[i]);
- }
- };
- // Add munged values with name/value pairs to the flattened array
- exports.addToArray = function(arr, name, value){
- if(value === undefined || value === null){
- value = "";
- }
- switch(type(value)){
- case "[object String]":
- case "[object Number]":
- case "[object Boolean]":
- arr.push(name, value + "");
- break;
- case "[object Array]":
- value.forEach(function(value){
- exports.addToArray(arr, name + "[]", value);
- });
- break;
- case "[object Object]":
- for(var k in value){
- exports.addToArray(arr, name + "[" + k + "]", value[k]);
- }
- };
- };
|