File tree 2 files changed +20
-13
lines changed
2 files changed +20
-13
lines changed Original file line number Diff line number Diff line change @@ -49,25 +49,23 @@ exports.merge = function (target, source) {
49
49
return target ;
50
50
}
51
51
52
- var obj = exports . clone ( target ) ;
53
-
54
52
if ( Array . isArray ( source ) ) {
55
53
for ( var i = 0 , il = source . length ; i < il ; ++ i ) {
56
54
if ( typeof source [ i ] !== 'undefined' ) {
57
- if ( typeof obj [ i ] === 'object' ) {
58
- obj [ i ] = exports . merge ( obj [ i ] , source [ i ] ) ;
55
+ if ( typeof target [ i ] === 'object' ) {
56
+ target [ i ] = exports . merge ( target [ i ] , source [ i ] ) ;
59
57
}
60
58
else {
61
- obj [ i ] = source [ i ] ;
59
+ target [ i ] = source [ i ] ;
62
60
}
63
61
}
64
62
}
65
63
66
- return obj ;
64
+ return target ;
67
65
}
68
66
69
- if ( Array . isArray ( obj ) ) {
70
- obj = exports . arrayToObject ( obj ) ;
67
+ if ( Array . isArray ( target ) ) {
68
+ target = exports . arrayToObject ( target ) ;
71
69
}
72
70
73
71
var keys = Object . keys ( source ) ;
@@ -78,19 +76,19 @@ exports.merge = function (target, source) {
78
76
if ( value &&
79
77
typeof value === 'object' ) {
80
78
81
- if ( ! obj [ key ] ) {
82
- obj [ key ] = exports . clone ( value ) ;
79
+ if ( ! target [ key ] ) {
80
+ target [ key ] = exports . clone ( value ) ;
83
81
}
84
82
else {
85
- obj [ key ] = exports . merge ( obj [ key ] , value ) ;
83
+ target [ key ] = exports . merge ( target [ key ] , value ) ;
86
84
}
87
85
}
88
86
else {
89
- obj [ key ] = value ;
87
+ target [ key ] = value ;
90
88
}
91
89
}
92
90
93
- return obj ;
91
+ return target ;
94
92
} ;
95
93
96
94
Original file line number Diff line number Diff line change @@ -126,4 +126,13 @@ describe('#stringify', function () {
126
126
expect ( Qs . stringify ( { a : 'b' , c : 'd' } , { delimiter : ';' } ) ) . to . equal ( 'a=b;c=d' ) ;
127
127
done ( ) ;
128
128
} ) ;
129
+
130
+ it ( 'doesn\'t blow up when Buffer global is missing' , function ( done ) {
131
+
132
+ var tempBuffer = global . Buffer ;
133
+ delete global . Buffer ;
134
+ expect ( Qs . stringify ( { a : 'b' , c : 'd' } ) ) . to . equal ( 'a=b&c=d' ) ;
135
+ global . Buffer = tempBuffer ;
136
+ done ( ) ;
137
+ } ) ;
129
138
} ) ;
You can’t perform that action at this time.
0 commit comments