@@ -42,7 +42,6 @@ exports.parse = querystring_parse;
42
42
* @for querystring
43
43
* @static
44
44
*/
45
- < << << << HEAD
46
45
function querystring_parse ( qs , sep , eq , unesc ) {
47
46
return qs . split ( sep || "&" )
48
47
. map ( pieceParser ( eq || "=" , unesc || unescape ) )
@@ -51,22 +50,6 @@ function querystring_parse (qs, sep, eq, unesc) {
51
50
52
51
function unescape ( s ) {
53
52
return decodeURIComponent ( s . replace ( / \+ / g, ' ' ) ) ;
54
- = === ===
55
- var parse = function ( qs , sep , eq ) {
56
- // wouldn't Array(qs.split()).map(pieceParser(eq)).reduce(mergeParams) be prettier?
57
- return util . reduce (
58
- util . map (
59
- qs . split ( sep || "&" ) ,
60
- pieceParser ( eq || "=" )
61
- ) ,
62
- { } ,
63
- mergeParams
64
- ) ;
65
- } ;
66
-
67
- var unescape = function ( s ) {
68
- return decodeURIComponent ( s . replace ( / \+ / g, ' ' ) ) ;
69
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
70
53
} ;
71
54
72
55
@@ -79,40 +62,23 @@ var unescape = function (s) {
79
62
// return parse(foo[bar], [{bla:"baz"}])
80
63
// return parse(foo, {bar:[{bla:"baz"}]})
81
64
// return {foo:{bar:[{bla:"baz"}] }}
82
- < << << << HEAD
83
65
function pieceParser ( eq , unesc ) {
84
66
return function parsePiece ( key , val ) {
85
-
86
- = === ===
87
- var pieceParser = function ( eq ) {
88
- return function parsePiece ( key , val ) {
89
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
90
67
if ( arguments . length !== 2 ) {
91
68
// key=val, called from the map/reduce
92
69
key = key . split ( eq ) ;
93
70
return parsePiece (
94
- < << << << HEAD
95
71
unesc ( key . shift ( ) ) ,
96
72
unesc ( key . join ( eq ) )
97
73
) ;
98
- = === ===
99
- unescape ( key . shift ( ) ) ,
100
- unescape ( key . join ( eq ) )
101
- ) ;
102
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
103
74
}
104
75
key = key . replace ( / ^ \s + | \s + $ / g, '' ) ;
105
76
if ( util . isString ( val ) ) {
106
77
val = val . replace ( / ^ \s + | \s + $ / g, '' ) ;
107
78
// convert numerals to numbers
108
79
if ( ! isNaN ( val ) ) {
109
- < << << << HEAD
110
80
var numVal = + val ;
111
81
if ( val === numVal . toString ( 10 ) ) val = numVal ;
112
- = === ===
113
- var numVal = + val ;
114
- if ( val === numVal . toString ( 10 ) ) val = numVal ;
115
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
116
82
}
117
83
}
118
84
var sliced = / ( .* ) \[ ( [ ^ \] ] * ) \] $ / . exec ( key ) ;
@@ -122,12 +88,8 @@ var pieceParser = function (eq) {
122
88
return ret ;
123
89
}
124
90
// ["foo[][bar][][baz]", "foo[][bar][]", "baz"]
125
- < << << << HEAD
126
91
var tail = sliced [ 2 ] ,
127
92
head = sliced [ 1 ] ;
128
- = === ===
129
- var tail = sliced [ 2 ] , head = sliced [ 1 ] ;
130
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
131
93
132
94
// array: key[]=val
133
95
if ( ! tail ) return parsePiece ( head , [ val ] ) ;
@@ -141,7 +103,6 @@ var pieceParser = function (eq) {
141
103
142
104
// the reducer function that merges each query piece together into one set of params
143
105
function mergeParams ( params , addition ) {
144
- < << << << HEAD
145
106
var ret ;
146
107
147
108
if ( ! params ) {
@@ -158,39 +119,14 @@ function mergeParams (params, addition) {
158
119
ret = mergeObjects ( params , addition ) ;
159
120
}
160
121
return ret ;
161
- = === ===
162
- var ret ;
163
-
164
- if ( ! params ) {
165
- // if it's uncontested, then just return the addition.
166
- ret = addition ;
167
- } else if ( util . isArray ( params ) ) {
168
- // if the existing value is an array, then concat it.
169
- ret = params . concat ( addition ) ;
170
- } else if ( ! util . isObject ( params ) || ! util . isObject ( addition ) ) {
171
- // if the existing value is not an array, and either are not objects, arrayify it.
172
- ret = [ params ] . concat ( addition ) ;
173
- } else {
174
- // else merge them as objects, which is a little more complex
175
- ret = mergeObjects ( params , addition ) ;
176
- }
177
- return ret ;
178
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
179
122
} ;
180
123
181
124
182
125
// Merge two *objects* together. If this is called, we've already ruled
183
126
// out the simple cases, and need to do the for-in business.
184
127
function mergeObjects ( params , addition ) {
185
- < << << << HEAD
186
128
for ( var i in addition ) if ( i && addition . hasOwnProperty ( i ) ) {
187
129
params [ i ] = mergeParams ( params [ i ] , addition [ i ] ) ;
188
- = === ===
189
- for ( var i in addition ) {
190
- if ( i && addition . hasOwnProperty ( i ) ) {
191
- params [ i ] = mergeParams ( params [ i ] , addition [ i ] ) ;
192
- }
193
- > >>> >>> dfaf3130e7ad0c25f7464dc46bb862c9f0bfb9ee
194
130
}
195
131
return params ;
196
132
} ;
0 commit comments