qs 6.1.2 → 6.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/1822e37208f8ddf8a5a1fbca19530afd.json +1 -0
- package/.nyc_output/df674434f0523b341fb8957fc9158867.json +1 -0
- package/CHANGELOG.md +10 -0
- package/README.md +3 -3
- package/coverage/base.css +212 -0
- package/coverage/coverage-final.json +10 -0
- package/coverage/index.html +106 -0
- package/coverage/lib/formats.js.html +134 -0
- package/coverage/lib/index.html +145 -0
- package/coverage/lib/index.js.html +98 -0
- package/coverage/lib/parse.js.html +956 -0
- package/coverage/lib/stringify.js.html +1133 -0
- package/coverage/lib/utils.js.html +869 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +1 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +158 -0
- package/coverage/test/empty-keys-cases.js.html +866 -0
- package/coverage/test/index.html +132 -0
- package/coverage/test/parse.js.html +3653 -0
- package/coverage/test/stringify.js.html +4001 -0
- package/coverage/test/utils.js.html +515 -0
- package/dist/qs.js +9 -9
- package/lib/parse.js +4 -4
- package/lib/utils.js +3 -3
- package/package.json +14 -4
- package/test/parse.js +9 -0
- package/.npmignore +0 -18
- package/.travis.yml +0 -173
- package/bower.json +0 -21
- package/component.json +0 -15
|
@@ -0,0 +1,956 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<title>Code coverage report for lib/parse.js</title>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
7
|
+
<link rel="stylesheet" href="../base.css" />
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
+
<style type='text/css'>
|
|
10
|
+
.coverage-summary .sorter {
|
|
11
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
|
+
<div class='wrapper'>
|
|
17
|
+
<div class='pad1'>
|
|
18
|
+
<h1>
|
|
19
|
+
<a href="../index.html">All files</a> / <a href="index.html">lib</a> parse.js
|
|
20
|
+
</h1>
|
|
21
|
+
<div class='clearfix'>
|
|
22
|
+
<div class='fl pad1y space-right2'>
|
|
23
|
+
<span class="strong">100% </span>
|
|
24
|
+
<span class="quiet">Statements</span>
|
|
25
|
+
<span class='fraction'>128/128</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class='fl pad1y space-right2'>
|
|
28
|
+
<span class="strong">100% </span>
|
|
29
|
+
<span class="quiet">Branches</span>
|
|
30
|
+
<span class='fraction'>186/186</span>
|
|
31
|
+
</div>
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Functions</span>
|
|
35
|
+
<span class='fraction'>9/9</span>
|
|
36
|
+
</div>
|
|
37
|
+
<div class='fl pad1y space-right2'>
|
|
38
|
+
<span class="strong">100% </span>
|
|
39
|
+
<span class="quiet">Lines</span>
|
|
40
|
+
<span class='fraction'>128/128</span>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class='status-line high'></div>
|
|
45
|
+
<pre><table class="coverage">
|
|
46
|
+
<tr><td class="line-count quiet">1
|
|
47
|
+
2
|
|
48
|
+
3
|
|
49
|
+
4
|
|
50
|
+
5
|
|
51
|
+
6
|
|
52
|
+
7
|
|
53
|
+
8
|
|
54
|
+
9
|
|
55
|
+
10
|
|
56
|
+
11
|
|
57
|
+
12
|
|
58
|
+
13
|
|
59
|
+
14
|
|
60
|
+
15
|
|
61
|
+
16
|
|
62
|
+
17
|
|
63
|
+
18
|
|
64
|
+
19
|
|
65
|
+
20
|
|
66
|
+
21
|
|
67
|
+
22
|
|
68
|
+
23
|
|
69
|
+
24
|
|
70
|
+
25
|
|
71
|
+
26
|
|
72
|
+
27
|
|
73
|
+
28
|
|
74
|
+
29
|
|
75
|
+
30
|
|
76
|
+
31
|
|
77
|
+
32
|
|
78
|
+
33
|
|
79
|
+
34
|
|
80
|
+
35
|
|
81
|
+
36
|
|
82
|
+
37
|
|
83
|
+
38
|
|
84
|
+
39
|
|
85
|
+
40
|
|
86
|
+
41
|
|
87
|
+
42
|
|
88
|
+
43
|
|
89
|
+
44
|
|
90
|
+
45
|
|
91
|
+
46
|
|
92
|
+
47
|
|
93
|
+
48
|
|
94
|
+
49
|
|
95
|
+
50
|
|
96
|
+
51
|
|
97
|
+
52
|
|
98
|
+
53
|
|
99
|
+
54
|
|
100
|
+
55
|
|
101
|
+
56
|
|
102
|
+
57
|
|
103
|
+
58
|
|
104
|
+
59
|
|
105
|
+
60
|
|
106
|
+
61
|
|
107
|
+
62
|
|
108
|
+
63
|
|
109
|
+
64
|
|
110
|
+
65
|
|
111
|
+
66
|
|
112
|
+
67
|
|
113
|
+
68
|
|
114
|
+
69
|
|
115
|
+
70
|
|
116
|
+
71
|
|
117
|
+
72
|
|
118
|
+
73
|
|
119
|
+
74
|
|
120
|
+
75
|
|
121
|
+
76
|
|
122
|
+
77
|
|
123
|
+
78
|
|
124
|
+
79
|
|
125
|
+
80
|
|
126
|
+
81
|
|
127
|
+
82
|
|
128
|
+
83
|
|
129
|
+
84
|
|
130
|
+
85
|
|
131
|
+
86
|
|
132
|
+
87
|
|
133
|
+
88
|
|
134
|
+
89
|
|
135
|
+
90
|
|
136
|
+
91
|
|
137
|
+
92
|
|
138
|
+
93
|
|
139
|
+
94
|
|
140
|
+
95
|
|
141
|
+
96
|
|
142
|
+
97
|
|
143
|
+
98
|
|
144
|
+
99
|
|
145
|
+
100
|
|
146
|
+
101
|
|
147
|
+
102
|
|
148
|
+
103
|
|
149
|
+
104
|
|
150
|
+
105
|
|
151
|
+
106
|
|
152
|
+
107
|
|
153
|
+
108
|
|
154
|
+
109
|
|
155
|
+
110
|
|
156
|
+
111
|
|
157
|
+
112
|
|
158
|
+
113
|
|
159
|
+
114
|
|
160
|
+
115
|
|
161
|
+
116
|
|
162
|
+
117
|
|
163
|
+
118
|
|
164
|
+
119
|
|
165
|
+
120
|
|
166
|
+
121
|
|
167
|
+
122
|
|
168
|
+
123
|
|
169
|
+
124
|
|
170
|
+
125
|
|
171
|
+
126
|
|
172
|
+
127
|
|
173
|
+
128
|
|
174
|
+
129
|
|
175
|
+
130
|
|
176
|
+
131
|
|
177
|
+
132
|
|
178
|
+
133
|
|
179
|
+
134
|
|
180
|
+
135
|
|
181
|
+
136
|
|
182
|
+
137
|
|
183
|
+
138
|
|
184
|
+
139
|
|
185
|
+
140
|
|
186
|
+
141
|
|
187
|
+
142
|
|
188
|
+
143
|
|
189
|
+
144
|
|
190
|
+
145
|
|
191
|
+
146
|
|
192
|
+
147
|
|
193
|
+
148
|
|
194
|
+
149
|
|
195
|
+
150
|
|
196
|
+
151
|
|
197
|
+
152
|
|
198
|
+
153
|
|
199
|
+
154
|
|
200
|
+
155
|
|
201
|
+
156
|
|
202
|
+
157
|
|
203
|
+
158
|
|
204
|
+
159
|
|
205
|
+
160
|
|
206
|
+
161
|
|
207
|
+
162
|
|
208
|
+
163
|
|
209
|
+
164
|
|
210
|
+
165
|
|
211
|
+
166
|
|
212
|
+
167
|
|
213
|
+
168
|
|
214
|
+
169
|
|
215
|
+
170
|
|
216
|
+
171
|
|
217
|
+
172
|
|
218
|
+
173
|
|
219
|
+
174
|
|
220
|
+
175
|
|
221
|
+
176
|
|
222
|
+
177
|
|
223
|
+
178
|
|
224
|
+
179
|
|
225
|
+
180
|
|
226
|
+
181
|
|
227
|
+
182
|
|
228
|
+
183
|
|
229
|
+
184
|
|
230
|
+
185
|
|
231
|
+
186
|
|
232
|
+
187
|
|
233
|
+
188
|
|
234
|
+
189
|
|
235
|
+
190
|
|
236
|
+
191
|
|
237
|
+
192
|
|
238
|
+
193
|
|
239
|
+
194
|
|
240
|
+
195
|
|
241
|
+
196
|
|
242
|
+
197
|
|
243
|
+
198
|
|
244
|
+
199
|
|
245
|
+
200
|
|
246
|
+
201
|
|
247
|
+
202
|
|
248
|
+
203
|
|
249
|
+
204
|
|
250
|
+
205
|
|
251
|
+
206
|
|
252
|
+
207
|
|
253
|
+
208
|
|
254
|
+
209
|
|
255
|
+
210
|
|
256
|
+
211
|
|
257
|
+
212
|
|
258
|
+
213
|
|
259
|
+
214
|
|
260
|
+
215
|
|
261
|
+
216
|
|
262
|
+
217
|
|
263
|
+
218
|
|
264
|
+
219
|
|
265
|
+
220
|
|
266
|
+
221
|
|
267
|
+
222
|
|
268
|
+
223
|
|
269
|
+
224
|
|
270
|
+
225
|
|
271
|
+
226
|
|
272
|
+
227
|
|
273
|
+
228
|
|
274
|
+
229
|
|
275
|
+
230
|
|
276
|
+
231
|
|
277
|
+
232
|
|
278
|
+
233
|
|
279
|
+
234
|
|
280
|
+
235
|
|
281
|
+
236
|
|
282
|
+
237
|
|
283
|
+
238
|
|
284
|
+
239
|
|
285
|
+
240
|
|
286
|
+
241
|
|
287
|
+
242
|
|
288
|
+
243
|
|
289
|
+
244
|
|
290
|
+
245
|
|
291
|
+
246
|
|
292
|
+
247
|
|
293
|
+
248
|
|
294
|
+
249
|
|
295
|
+
250
|
|
296
|
+
251
|
|
297
|
+
252
|
|
298
|
+
253
|
|
299
|
+
254
|
|
300
|
+
255
|
|
301
|
+
256
|
|
302
|
+
257
|
|
303
|
+
258
|
|
304
|
+
259
|
|
305
|
+
260
|
|
306
|
+
261
|
|
307
|
+
262
|
|
308
|
+
263
|
|
309
|
+
264
|
|
310
|
+
265
|
|
311
|
+
266
|
|
312
|
+
267
|
|
313
|
+
268
|
|
314
|
+
269
|
|
315
|
+
270
|
|
316
|
+
271
|
|
317
|
+
272
|
|
318
|
+
273
|
|
319
|
+
274
|
|
320
|
+
275
|
|
321
|
+
276
|
|
322
|
+
277
|
|
323
|
+
278
|
|
324
|
+
279
|
|
325
|
+
280
|
|
326
|
+
281
|
|
327
|
+
282
|
|
328
|
+
283
|
|
329
|
+
284
|
|
330
|
+
285
|
|
331
|
+
286
|
|
332
|
+
287
|
|
333
|
+
288
|
|
334
|
+
289
|
|
335
|
+
290
|
|
336
|
+
291
|
|
337
|
+
292
|
|
338
|
+
293
|
|
339
|
+
294
|
|
340
|
+
295
|
|
341
|
+
296
|
|
342
|
+
297
|
|
343
|
+
298</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
345
|
+
<span class="cline-any cline-yes">1x</span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-yes">1x</span>
|
|
348
|
+
<span class="cline-any cline-yes">1x</span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">1x</span>
|
|
351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-neutral"> </span>
|
|
367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-yes">1x</span>
|
|
374
|
+
<span class="cline-any cline-yes">3x</span>
|
|
375
|
+
<span class="cline-any cline-yes">3x</span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-yes">1x</span>
|
|
380
|
+
<span class="cline-any cline-yes">1423x</span>
|
|
381
|
+
<span class="cline-any cline-yes">20x</span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-yes">1403x</span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-yes">1x</span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-yes">1x</span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-yes">1x</span>
|
|
398
|
+
<span class="cline-any cline-yes">253x</span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-yes">253x</span>
|
|
401
|
+
<span class="cline-any cline-yes">253x</span>
|
|
402
|
+
<span class="cline-any cline-yes">253x</span>
|
|
403
|
+
<span class="cline-any cline-yes">253x</span>
|
|
404
|
+
<span class="cline-any cline-yes">253x</span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-yes">253x</span>
|
|
408
|
+
<span class="cline-any cline-yes">253x</span>
|
|
409
|
+
<span class="cline-any cline-yes">6x</span>
|
|
410
|
+
<span class="cline-any cline-yes">7x</span>
|
|
411
|
+
<span class="cline-any cline-yes">6x</span>
|
|
412
|
+
<span class="cline-any cline-yes">2x</span>
|
|
413
|
+
<span class="cline-any cline-yes">4x</span>
|
|
414
|
+
<span class="cline-any cline-yes">3x</span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
|
+
<span class="cline-any cline-yes">6x</span>
|
|
417
|
+
<span class="cline-any cline-yes">6x</span>
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
420
|
+
<span class="cline-any cline-neutral"> </span>
|
|
421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">253x</span>
|
|
423
|
+
<span class="cline-any cline-yes">1450x</span>
|
|
424
|
+
<span class="cline-any cline-yes">6x</span>
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
428
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
429
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
434
|
+
<span class="cline-any cline-yes">39x</span>
|
|
435
|
+
<span class="cline-any cline-yes">39x</span>
|
|
436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
437
|
+
<span class="cline-any cline-yes">1405x</span>
|
|
438
|
+
<span class="cline-any cline-yes">1405x</span>
|
|
439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
441
|
+
<span class="cline-any cline-yes">1434x</span>
|
|
442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
446
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
447
|
+
<span class="cline-any cline-yes">3x</span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
451
|
+
<span class="cline-any cline-yes">1083x</span>
|
|
452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
455
|
+
<span class="cline-any cline-yes">1444x</span>
|
|
456
|
+
<span class="cline-any cline-yes">1060x</span>
|
|
457
|
+
<span class="cline-any cline-yes">384x</span>
|
|
458
|
+
<span class="cline-any cline-yes">383x</span>
|
|
459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
462
|
+
<span class="cline-any cline-yes">253x</span>
|
|
463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
465
|
+
<span class="cline-any cline-yes">1x</span>
|
|
466
|
+
<span class="cline-any cline-yes">365x</span>
|
|
467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
468
|
+
<span class="cline-any cline-yes">365x</span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
|
+
<span class="cline-any cline-yes">5651x</span>
|
|
471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-yes">5651x</span>
|
|
473
|
+
<span class="cline-any cline-yes">59x</span>
|
|
474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-yes">5592x</span>
|
|
478
|
+
<span class="cline-any cline-yes">5592x</span>
|
|
479
|
+
<span class="cline-any cline-yes">5592x</span>
|
|
480
|
+
<span class="cline-any cline-yes">5592x</span>
|
|
481
|
+
<span class="cline-any cline-yes">5592x</span>
|
|
482
|
+
<span class="cline-any cline-yes">1x</span>
|
|
483
|
+
<span class="cline-any cline-yes">5591x</span>
|
|
484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-yes">89x</span>
|
|
491
|
+
<span class="cline-any cline-yes">89x</span>
|
|
492
|
+
<span class="cline-any cline-yes">5502x</span>
|
|
493
|
+
<span class="cline-any cline-yes">5497x</span>
|
|
494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-yes">5651x</span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-yes">365x</span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-yes">1x</span>
|
|
504
|
+
<span class="cline-any cline-yes">399x</span>
|
|
505
|
+
<span class="cline-any cline-yes">22x</span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-yes">377x</span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-yes">377x</span>
|
|
514
|
+
<span class="cline-any cline-yes">377x</span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-yes">377x</span>
|
|
519
|
+
<span class="cline-any cline-yes">377x</span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-yes">377x</span>
|
|
524
|
+
<span class="cline-any cline-yes">377x</span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-yes">368x</span>
|
|
527
|
+
<span class="cline-any cline-yes">6x</span>
|
|
528
|
+
<span class="cline-any cline-yes">4x</span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-yes">364x</span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-yes">373x</span>
|
|
538
|
+
<span class="cline-any cline-yes">373x</span>
|
|
539
|
+
<span class="cline-any cline-yes">5304x</span>
|
|
540
|
+
<span class="cline-any cline-yes">5304x</span>
|
|
541
|
+
<span class="cline-any cline-yes">10x</span>
|
|
542
|
+
<span class="cline-any cline-yes">4x</span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-yes">5300x</span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">369x</span>
|
|
551
|
+
<span class="cline-any cline-yes">9x</span>
|
|
552
|
+
<span class="cline-any cline-yes">4x</span>
|
|
553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
554
|
+
<span class="cline-any cline-yes">5x</span>
|
|
555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-neutral"> </span>
|
|
557
|
+
<span class="cline-any cline-yes">365x</span>
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-yes">1x</span>
|
|
561
|
+
<span class="cline-any cline-yes">306x</span>
|
|
562
|
+
<span class="cline-any cline-yes">123x</span>
|
|
563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
564
|
+
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-yes">183x</span>
|
|
566
|
+
<span class="cline-any cline-yes">4x</span>
|
|
567
|
+
<span class="cline-any cline-neutral"> </span>
|
|
568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-yes">179x</span>
|
|
570
|
+
<span class="cline-any cline-yes">4x</span>
|
|
571
|
+
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
|
+
<span class="cline-any cline-yes">175x</span>
|
|
574
|
+
<span class="cline-any cline-yes">1x</span>
|
|
575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-yes">174x</span>
|
|
578
|
+
<span class="cline-any cline-yes">1x</span>
|
|
579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
580
|
+
<span class="cline-any cline-yes">173x</span>
|
|
581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-yes">173x</span>
|
|
583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
584
|
+
<span class="cline-any cline-yes">173x</span>
|
|
585
|
+
<span class="cline-any cline-yes">26x</span>
|
|
586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-yes">147x</span>
|
|
589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
590
|
+
<span class="cline-any cline-yes">147x</span>
|
|
591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-neutral"> </span>
|
|
596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
599
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
|
+
<span class="cline-any cline-neutral"> </span>
|
|
601
|
+
<span class="cline-any cline-neutral"> </span>
|
|
602
|
+
<span class="cline-any cline-neutral"> </span>
|
|
603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
605
|
+
<span class="cline-any cline-neutral"> </span>
|
|
606
|
+
<span class="cline-any cline-neutral"> </span>
|
|
607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
608
|
+
<span class="cline-any cline-neutral"> </span>
|
|
609
|
+
<span class="cline-any cline-neutral"> </span>
|
|
610
|
+
<span class="cline-any cline-neutral"> </span>
|
|
611
|
+
<span class="cline-any cline-neutral"> </span>
|
|
612
|
+
<span class="cline-any cline-neutral"> </span>
|
|
613
|
+
<span class="cline-any cline-neutral"> </span>
|
|
614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
615
|
+
<span class="cline-any cline-yes">1x</span>
|
|
616
|
+
<span class="cline-any cline-yes">306x</span>
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-yes">270x</span>
|
|
619
|
+
<span class="cline-any cline-yes">4x</span>
|
|
620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-yes">266x</span>
|
|
623
|
+
<span class="cline-any cline-yes">266x</span>
|
|
624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
625
|
+
<span class="cline-any cline-neutral"> </span>
|
|
626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-yes">266x</span>
|
|
628
|
+
<span class="cline-any cline-yes">266x</span>
|
|
629
|
+
<span class="cline-any cline-yes">399x</span>
|
|
630
|
+
<span class="cline-any cline-yes">399x</span>
|
|
631
|
+
<span class="cline-any cline-yes">395x</span>
|
|
632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-yes">262x</span>
|
|
635
|
+
<span class="cline-any cline-yes">4x</span>
|
|
636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-yes">258x</span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
|
|
641
|
+
|
|
642
|
+
var utils = require('./utils');
|
|
643
|
+
|
|
644
|
+
var has = Object.prototype.hasOwnProperty;
|
|
645
|
+
var isArray = Array.isArray;
|
|
646
|
+
|
|
647
|
+
var defaults = {
|
|
648
|
+
allowDots: false,
|
|
649
|
+
allowEmptyArrays: false,
|
|
650
|
+
allowPrototypes: false,
|
|
651
|
+
allowSparse: false,
|
|
652
|
+
arrayLimit: 20,
|
|
653
|
+
charset: 'utf-8',
|
|
654
|
+
charsetSentinel: false,
|
|
655
|
+
comma: false,
|
|
656
|
+
decodeDotInKeys: false,
|
|
657
|
+
decoder: utils.decode,
|
|
658
|
+
delimiter: '&',
|
|
659
|
+
depth: 5,
|
|
660
|
+
duplicates: 'combine',
|
|
661
|
+
ignoreQueryPrefix: false,
|
|
662
|
+
interpretNumericEntities: false,
|
|
663
|
+
parameterLimit: 1000,
|
|
664
|
+
parseArrays: true,
|
|
665
|
+
plainObjects: false,
|
|
666
|
+
strictDepth: false,
|
|
667
|
+
strictNullHandling: false
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
var interpretNumericEntities = function (str) {
|
|
671
|
+
return str.replace(/&#(\d+);/g, function ($0, numberStr) {
|
|
672
|
+
return String.fromCharCode(parseInt(numberStr, 10));
|
|
673
|
+
});
|
|
674
|
+
};
|
|
675
|
+
|
|
676
|
+
var parseArrayValue = function (val, options) {
|
|
677
|
+
if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
|
|
678
|
+
return val.split(',');
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
return val;
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
// This is what browsers will submit when the ✓ character occurs in an
|
|
685
|
+
// application/x-www-form-urlencoded body and the encoding of the page containing
|
|
686
|
+
// the form is iso-8859-1, or when the submitted form has an accept-charset
|
|
687
|
+
// attribute of iso-8859-1. Presumably also with other charsets that do not contain
|
|
688
|
+
// the ✓ character, such as us-ascii.
|
|
689
|
+
var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
|
|
690
|
+
|
|
691
|
+
// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
|
|
692
|
+
var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
|
|
693
|
+
|
|
694
|
+
var parseValues = function parseQueryStringValues(str, options) {
|
|
695
|
+
var obj = { __proto__: null };
|
|
696
|
+
|
|
697
|
+
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
|
698
|
+
cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');
|
|
699
|
+
var limit = options.parameterLimit === Infinity ? void undefined : options.parameterLimit;
|
|
700
|
+
var parts = cleanStr.split(options.delimiter, limit);
|
|
701
|
+
var skipIndex = -1; // Keep track of where the utf8 sentinel was found
|
|
702
|
+
var i;
|
|
703
|
+
|
|
704
|
+
var charset = options.charset;
|
|
705
|
+
if (options.charsetSentinel) {
|
|
706
|
+
for (i = 0; i < parts.length; ++i) {
|
|
707
|
+
if (parts[i].indexOf('utf8=') === 0) {
|
|
708
|
+
if (parts[i] === charsetSentinel) {
|
|
709
|
+
charset = 'utf-8';
|
|
710
|
+
} else if (parts[i] === isoSentinel) {
|
|
711
|
+
charset = 'iso-8859-1';
|
|
712
|
+
}
|
|
713
|
+
skipIndex = i;
|
|
714
|
+
i = parts.length; // The eslint settings do not allow break;
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
for (i = 0; i < parts.length; ++i) {
|
|
720
|
+
if (i === skipIndex) {
|
|
721
|
+
continue;
|
|
722
|
+
}
|
|
723
|
+
var part = parts[i];
|
|
724
|
+
|
|
725
|
+
var bracketEqualsPos = part.indexOf(']=');
|
|
726
|
+
var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
|
|
727
|
+
|
|
728
|
+
var key;
|
|
729
|
+
var val;
|
|
730
|
+
if (pos === -1) {
|
|
731
|
+
key = options.decoder(part, defaults.decoder, charset, 'key');
|
|
732
|
+
val = options.strictNullHandling ? null : '';
|
|
733
|
+
} else {
|
|
734
|
+
key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
|
|
735
|
+
val = utils.maybeMap(
|
|
736
|
+
parseArrayValue(part.slice(pos + 1), options),
|
|
737
|
+
function (encodedVal) {
|
|
738
|
+
return options.decoder(encodedVal, defaults.decoder, charset, 'value');
|
|
739
|
+
}
|
|
740
|
+
);
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
|
|
744
|
+
val = interpretNumericEntities(String(val));
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
if (part.indexOf('[]=') > -1) {
|
|
748
|
+
val = isArray(val) ? [val] : val;
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
var existing = has.call(obj, key);
|
|
752
|
+
if (existing && options.duplicates === 'combine') {
|
|
753
|
+
obj[key] = utils.combine(obj[key], val);
|
|
754
|
+
} else if (!existing || options.duplicates === 'last') {
|
|
755
|
+
obj[key] = val;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
return obj;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
var parseObject = function (chain, val, options, valuesParsed) {
|
|
763
|
+
var leaf = valuesParsed ? val : parseArrayValue(val, options);
|
|
764
|
+
|
|
765
|
+
for (var i = chain.length - 1; i >= 0; --i) {
|
|
766
|
+
var obj;
|
|
767
|
+
var root = chain[i];
|
|
768
|
+
|
|
769
|
+
if (root === '[]' && options.parseArrays) {
|
|
770
|
+
obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))
|
|
771
|
+
? []
|
|
772
|
+
: [].concat(leaf);
|
|
773
|
+
} else {
|
|
774
|
+
obj = options.plainObjects ? { __proto__: null } : {};
|
|
775
|
+
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
|
776
|
+
var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;
|
|
777
|
+
var index = parseInt(decodedRoot, 10);
|
|
778
|
+
if (!options.parseArrays && decodedRoot === '') {
|
|
779
|
+
obj = { 0: leaf };
|
|
780
|
+
} else if (
|
|
781
|
+
!isNaN(index)
|
|
782
|
+
&& root !== decodedRoot
|
|
783
|
+
&& String(index) === decodedRoot
|
|
784
|
+
&& index >= 0
|
|
785
|
+
&& (options.parseArrays && index <= options.arrayLimit)
|
|
786
|
+
) {
|
|
787
|
+
obj = [];
|
|
788
|
+
obj[index] = leaf;
|
|
789
|
+
} else if (decodedRoot !== '__proto__') {
|
|
790
|
+
obj[decodedRoot] = leaf;
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
leaf = obj;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
return leaf;
|
|
798
|
+
};
|
|
799
|
+
|
|
800
|
+
var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
|
|
801
|
+
if (!givenKey) {
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// Transform dot notation to bracket notation
|
|
806
|
+
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
|
807
|
+
|
|
808
|
+
// The regex chunks
|
|
809
|
+
|
|
810
|
+
var brackets = /(\[[^[\]]*])/;
|
|
811
|
+
var child = /(\[[^[\]]*])/g;
|
|
812
|
+
|
|
813
|
+
// Get the parent
|
|
814
|
+
|
|
815
|
+
var segment = options.depth > 0 && brackets.exec(key);
|
|
816
|
+
var parent = segment ? key.slice(0, segment.index) : key;
|
|
817
|
+
|
|
818
|
+
// Stash the parent if it exists
|
|
819
|
+
|
|
820
|
+
var keys = [];
|
|
821
|
+
if (parent) {
|
|
822
|
+
// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
|
|
823
|
+
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
|
824
|
+
if (!options.allowPrototypes) {
|
|
825
|
+
return;
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
keys[keys.length] = parent;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
// Loop through children appending to the array until we hit depth
|
|
833
|
+
|
|
834
|
+
var i = 0;
|
|
835
|
+
while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
|
|
836
|
+
i += 1;
|
|
837
|
+
if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
|
|
838
|
+
if (!options.allowPrototypes) {
|
|
839
|
+
return;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
keys[keys.length] = segment[1];
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
// If there's a remainder, check strictDepth option for throw, else just add whatever is left
|
|
846
|
+
|
|
847
|
+
if (segment) {
|
|
848
|
+
if (options.strictDepth === true) {
|
|
849
|
+
throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');
|
|
850
|
+
}
|
|
851
|
+
keys[keys.length] = '[' + key.slice(segment.index) + ']';
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
return parseObject(keys, val, options, valuesParsed);
|
|
855
|
+
};
|
|
856
|
+
|
|
857
|
+
var normalizeParseOptions = function normalizeParseOptions(opts) {
|
|
858
|
+
if (!opts) {
|
|
859
|
+
return defaults;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {
|
|
863
|
+
throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {
|
|
867
|
+
throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {
|
|
871
|
+
throw new TypeError('Decoder has to be a function.');
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
|
875
|
+
throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
|
876
|
+
}
|
|
877
|
+
var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
|
|
878
|
+
|
|
879
|
+
var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;
|
|
880
|
+
|
|
881
|
+
if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {
|
|
882
|
+
throw new TypeError('The duplicates option must be either combine, first, or last');
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
|
|
886
|
+
|
|
887
|
+
return {
|
|
888
|
+
allowDots: allowDots,
|
|
889
|
+
allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
|
|
890
|
+
allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
|
|
891
|
+
allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
|
|
892
|
+
arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
|
|
893
|
+
charset: charset,
|
|
894
|
+
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
895
|
+
comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
|
|
896
|
+
decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,
|
|
897
|
+
decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
|
|
898
|
+
delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
|
899
|
+
// eslint-disable-next-line no-implicit-coercion, no-extra-parens
|
|
900
|
+
depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
|
|
901
|
+
duplicates: duplicates,
|
|
902
|
+
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
|
903
|
+
interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
|
904
|
+
parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
|
|
905
|
+
parseArrays: opts.parseArrays !== false,
|
|
906
|
+
plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
|
|
907
|
+
strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,
|
|
908
|
+
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
|
909
|
+
};
|
|
910
|
+
};
|
|
911
|
+
|
|
912
|
+
module.exports = function (str, opts) {
|
|
913
|
+
var options = normalizeParseOptions(opts);
|
|
914
|
+
|
|
915
|
+
if (str === '' || str === null || typeof str === 'undefined') {
|
|
916
|
+
return options.plainObjects ? { __proto__: null } : {};
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
|
|
920
|
+
var obj = options.plainObjects ? { __proto__: null } : {};
|
|
921
|
+
|
|
922
|
+
// Iterate over the keys and setup the new object
|
|
923
|
+
|
|
924
|
+
var keys = Object.keys(tempObj);
|
|
925
|
+
for (var i = 0; i < keys.length; ++i) {
|
|
926
|
+
var key = keys[i];
|
|
927
|
+
var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
|
|
928
|
+
obj = utils.merge(obj, newObj, options);
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
if (options.allowSparse === true) {
|
|
932
|
+
return obj;
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
return utils.compact(obj);
|
|
936
|
+
};
|
|
937
|
+
</pre></td></tr>
|
|
938
|
+
</table></pre>
|
|
939
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
940
|
+
</div><!-- /wrapper -->
|
|
941
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
942
|
+
Code coverage
|
|
943
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu Feb 12 2026 15:44:30 GMT-0800 (Pacific Standard Time)
|
|
944
|
+
</div>
|
|
945
|
+
</div>
|
|
946
|
+
<script src="../prettify.js"></script>
|
|
947
|
+
<script>
|
|
948
|
+
window.onload = function () {
|
|
949
|
+
if (typeof prettyPrint === 'function') {
|
|
950
|
+
prettyPrint();
|
|
951
|
+
}
|
|
952
|
+
};
|
|
953
|
+
</script>
|
|
954
|
+
<script src="../sorter.js"></script>
|
|
955
|
+
</body>
|
|
956
|
+
</html>
|