fsevents 1.0.15 → 1.0.17

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.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (361) hide show
  1. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  2. package/node_modules/abbrev/package.json +16 -8
  3. package/node_modules/ansi-regex/package.json +31 -23
  4. package/node_modules/ansi-styles/package.json +27 -19
  5. package/node_modules/aproba/package.json +16 -8
  6. package/node_modules/are-we-there-yet/package.json +14 -6
  7. package/node_modules/asn1/package.json +16 -8
  8. package/node_modules/assert-plus/package.json +16 -8
  9. package/node_modules/{node-uuid/LICENSE.md → asynckit/LICENSE} +1 -1
  10. package/node_modules/asynckit/README.md +233 -0
  11. package/node_modules/asynckit/bench.js +76 -0
  12. package/node_modules/asynckit/index.js +6 -0
  13. package/node_modules/asynckit/lib/abort.js +29 -0
  14. package/node_modules/asynckit/lib/async.js +34 -0
  15. package/node_modules/asynckit/lib/defer.js +26 -0
  16. package/node_modules/asynckit/lib/iterate.js +75 -0
  17. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  18. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  19. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  20. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  21. package/node_modules/asynckit/lib/state.js +37 -0
  22. package/node_modules/asynckit/lib/streamify.js +141 -0
  23. package/node_modules/asynckit/lib/terminator.js +29 -0
  24. package/node_modules/asynckit/package.json +126 -0
  25. package/node_modules/asynckit/parallel.js +43 -0
  26. package/node_modules/asynckit/serial.js +17 -0
  27. package/node_modules/asynckit/serialOrdered.js +75 -0
  28. package/node_modules/asynckit/stream.js +21 -0
  29. package/node_modules/aws-sign2/package.json +15 -7
  30. package/node_modules/aws4/README.md +9 -0
  31. package/node_modules/aws4/aws4.js +8 -3
  32. package/node_modules/aws4/package.json +62 -54
  33. package/node_modules/balanced-match/package.json +27 -19
  34. package/node_modules/bcrypt-pbkdf/README.md +39 -0
  35. package/node_modules/bcrypt-pbkdf/index.js +559 -0
  36. package/node_modules/bcrypt-pbkdf/package.json +72 -0
  37. package/node_modules/block-stream/package.json +15 -7
  38. package/node_modules/boom/package.json +14 -6
  39. package/node_modules/brace-expansion/index.js +10 -0
  40. package/node_modules/brace-expansion/package.json +35 -27
  41. package/node_modules/buffer-shims/package.json +16 -7
  42. package/node_modules/caseless/package.json +18 -10
  43. package/node_modules/chalk/node_modules/supports-color/index.js +50 -0
  44. package/node_modules/{supports-color → chalk/node_modules/supports-color}/license +0 -0
  45. package/node_modules/chalk/node_modules/supports-color/package.json +113 -0
  46. package/node_modules/chalk/node_modules/supports-color/readme.md +36 -0
  47. package/node_modules/chalk/package.json +30 -22
  48. package/node_modules/code-point-at/index.js +3 -4
  49. package/node_modules/code-point-at/package.json +40 -30
  50. package/node_modules/code-point-at/readme.md +2 -4
  51. package/node_modules/combined-stream/package.json +15 -7
  52. package/node_modules/commander/package.json +16 -8
  53. package/node_modules/concat-map/package.json +30 -22
  54. package/node_modules/console-control-strings/package.json +15 -7
  55. package/node_modules/core-util-is/package.json +22 -14
  56. package/node_modules/cryptiles/package.json +14 -6
  57. package/node_modules/dashdash/CHANGES.md +364 -0
  58. package/node_modules/dashdash/LICENSE.txt +24 -0
  59. package/node_modules/dashdash/etc/dashdash.bash_completion.in +4 -3
  60. package/node_modules/dashdash/node_modules/assert-plus/package.json +16 -8
  61. package/node_modules/dashdash/package.json +33 -24
  62. package/node_modules/debug/package.json +20 -12
  63. package/node_modules/deep-extend/package.json +23 -15
  64. package/node_modules/delayed-stream/package.json +15 -7
  65. package/node_modules/delegates/package.json +14 -6
  66. package/node_modules/ecc-jsbn/package.json +17 -9
  67. package/node_modules/escape-string-regexp/package.json +20 -12
  68. package/node_modules/extend/package.json +16 -8
  69. package/node_modules/extsprintf/package.json +14 -6
  70. package/node_modules/forever-agent/package.json +15 -7
  71. package/node_modules/form-data/README.md +7 -8
  72. package/node_modules/form-data/lib/browser.js +1 -1
  73. package/node_modules/form-data/lib/form_data.js +101 -72
  74. package/node_modules/form-data/lib/populate.js +6 -5
  75. package/node_modules/form-data/package.json +68 -52
  76. package/node_modules/fs.realpath/package.json +19 -11
  77. package/node_modules/fstream/package.json +15 -7
  78. package/node_modules/fstream-ignore/package.json +15 -7
  79. package/node_modules/gauge/CHANGELOG.md +14 -0
  80. package/node_modules/gauge/README.md +4 -0
  81. package/node_modules/gauge/index.js +7 -3
  82. package/node_modules/gauge/package.json +37 -28
  83. package/node_modules/generate-function/package.json +16 -8
  84. package/node_modules/generate-object-property/package.json +14 -6
  85. package/node_modules/getpass/node_modules/assert-plus/package.json +16 -8
  86. package/node_modules/getpass/package.json +16 -8
  87. package/node_modules/glob/README.md +3 -0
  88. package/node_modules/glob/common.js +6 -1
  89. package/node_modules/glob/glob.js +23 -14
  90. package/node_modules/glob/package.json +29 -21
  91. package/node_modules/glob/sync.js +29 -11
  92. package/node_modules/graceful-fs/README.md +1 -1
  93. package/node_modules/graceful-fs/graceful-fs.js +23 -14
  94. package/node_modules/graceful-fs/package.json +35 -27
  95. package/node_modules/graceful-fs/polyfills.js +99 -21
  96. package/node_modules/graceful-readlink/package.json +14 -6
  97. package/node_modules/har-validator/package.json +16 -8
  98. package/node_modules/has-ansi/package.json +29 -21
  99. package/node_modules/has-unicode/package.json +18 -10
  100. package/node_modules/hawk/package.json +18 -10
  101. package/node_modules/hoek/package.json +14 -6
  102. package/node_modules/http-signature/package.json +14 -6
  103. package/node_modules/inflight/inflight.js +22 -12
  104. package/node_modules/inflight/package.json +28 -20
  105. package/node_modules/inherits/inherits.js +7 -1
  106. package/node_modules/inherits/package.json +41 -21
  107. package/node_modules/ini/package.json +15 -7
  108. package/node_modules/is-fullwidth-code-point/package.json +27 -19
  109. package/node_modules/is-my-json-valid/index.js +10 -0
  110. package/node_modules/is-my-json-valid/package.json +36 -20
  111. package/node_modules/is-my-json-valid/test/misc.js +24 -0
  112. package/node_modules/is-property/package.json +19 -11
  113. package/node_modules/is-typedarray/package.json +16 -8
  114. package/node_modules/isarray/package.json +28 -20
  115. package/node_modules/isstream/package.json +19 -11
  116. package/node_modules/jodid25519/package.json +18 -10
  117. package/node_modules/jsbn/package.json +15 -7
  118. package/node_modules/json-schema/lib/links.js +17 -3
  119. package/node_modules/json-schema/lib/validate.js +18 -5
  120. package/node_modules/json-schema/package.json +32 -18
  121. package/node_modules/json-stringify-safe/package.json +18 -10
  122. package/node_modules/{async/LICENSE → jsonpointer/LICENSE.md} +3 -1
  123. package/node_modules/jsonpointer/README.md +17 -10
  124. package/node_modules/jsonpointer/jsonpointer.js +73 -56
  125. package/node_modules/jsonpointer/package.json +47 -26
  126. package/node_modules/jsprim/CHANGES.md +4 -0
  127. package/node_modules/jsprim/package.json +25 -17
  128. package/node_modules/mime-db/HISTORY.md +34 -0
  129. package/node_modules/mime-db/db.json +86 -1
  130. package/node_modules/mime-db/package.json +43 -31
  131. package/node_modules/mime-types/HISTORY.md +13 -0
  132. package/node_modules/mime-types/index.js +8 -8
  133. package/node_modules/mime-types/package.json +31 -19
  134. package/node_modules/minimatch/minimatch.js +19 -20
  135. package/node_modules/minimatch/package.json +25 -17
  136. package/node_modules/minimist/package.json +24 -16
  137. package/node_modules/mkdirp/package.json +21 -13
  138. package/node_modules/ms/package.json +14 -6
  139. package/node_modules/node-pre-gyp/CHANGELOG.md +16 -0
  140. package/node_modules/node-pre-gyp/README.md +574 -0
  141. package/node_modules/node-pre-gyp/appveyor.yml +19 -9
  142. package/node_modules/node-pre-gyp/lib/install.js +31 -7
  143. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +2 -0
  144. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +88 -0
  145. package/node_modules/node-pre-gyp/package.json +48 -40
  146. package/node_modules/nopt/package.json +19 -11
  147. package/node_modules/npmlog/CHANGELOG.md +9 -0
  148. package/node_modules/npmlog/README.md +7 -1
  149. package/node_modules/npmlog/log.js +12 -8
  150. package/node_modules/npmlog/package.json +30 -22
  151. package/node_modules/number-is-nan/package.json +39 -30
  152. package/node_modules/number-is-nan/readme.md +1 -3
  153. package/node_modules/oauth-sign/package.json +15 -7
  154. package/node_modules/object-assign/package.json +22 -14
  155. package/node_modules/once/README.md +28 -0
  156. package/node_modules/once/once.js +21 -0
  157. package/node_modules/once/package.json +31 -20
  158. package/node_modules/path-is-absolute/index.js +5 -5
  159. package/node_modules/path-is-absolute/package.json +45 -31
  160. package/node_modules/path-is-absolute/readme.md +19 -11
  161. package/node_modules/pinkie/package.json +18 -10
  162. package/node_modules/pinkie-promise/package.json +18 -10
  163. package/node_modules/process-nextick-args/package.json +16 -8
  164. package/node_modules/punycode/LICENSE-MIT.txt +20 -0
  165. package/node_modules/punycode/README.md +176 -0
  166. package/node_modules/punycode/package.json +127 -0
  167. package/node_modules/punycode/punycode.js +533 -0
  168. package/node_modules/qs/.eslintrc +15 -15
  169. package/node_modules/qs/CHANGELOG.md +24 -0
  170. package/node_modules/qs/README.md +398 -0
  171. package/node_modules/qs/dist/qs.js +138 -51
  172. package/node_modules/qs/lib/formats.js +18 -0
  173. package/node_modules/qs/lib/index.js +6 -4
  174. package/node_modules/qs/lib/parse.js +23 -24
  175. package/node_modules/qs/lib/stringify.js +63 -13
  176. package/node_modules/qs/lib/utils.js +22 -6
  177. package/node_modules/qs/package.json +40 -30
  178. package/node_modules/qs/test/.eslintrc +9 -0
  179. package/node_modules/qs/test/index.js +2 -0
  180. package/node_modules/qs/test/parse.js +81 -45
  181. package/node_modules/qs/test/stringify.js +260 -27
  182. package/node_modules/qs/test/utils.js +13 -0
  183. package/node_modules/rc/node_modules/minimist/package.json +24 -16
  184. package/node_modules/rc/package.json +21 -13
  185. package/node_modules/readable-stream/.npmignore +1 -0
  186. package/node_modules/readable-stream/.travis.yml +2 -7
  187. package/node_modules/readable-stream/README.md +6 -2
  188. package/node_modules/readable-stream/lib/_stream_readable.js +158 -110
  189. package/node_modules/readable-stream/lib/_stream_transform.js +7 -5
  190. package/node_modules/readable-stream/lib/_stream_writable.js +35 -7
  191. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  192. package/node_modules/readable-stream/package.json +34 -26
  193. package/node_modules/request/CHANGELOG.md +49 -18
  194. package/node_modules/request/README.md +3 -2
  195. package/node_modules/request/index.js +2 -3
  196. package/node_modules/request/lib/auth.js +1 -1
  197. package/node_modules/request/lib/helpers.js +4 -13
  198. package/node_modules/request/lib/multipart.js +1 -1
  199. package/node_modules/request/lib/oauth.js +1 -1
  200. package/node_modules/request/lib/redirect.js +5 -1
  201. package/node_modules/request/package.json +50 -31
  202. package/node_modules/request/request.js +84 -43
  203. package/node_modules/rimraf/package.json +28 -20
  204. package/node_modules/rimraf/rimraf.js +2 -2
  205. package/node_modules/semver/README.md +4 -0
  206. package/node_modules/semver/package.json +27 -19
  207. package/node_modules/semver/semver.js +14 -5
  208. package/node_modules/set-blocking/package.json +21 -13
  209. package/node_modules/signal-exit/CHANGELOG.md +10 -0
  210. package/node_modules/signal-exit/LICENSE.txt +2 -0
  211. package/node_modules/signal-exit/index.js +9 -0
  212. package/node_modules/signal-exit/package.json +32 -24
  213. package/node_modules/signal-exit/signals.js +5 -4
  214. package/node_modules/sntp/package.json +16 -8
  215. package/node_modules/sshpk/README.md +214 -3
  216. package/node_modules/sshpk/bin/sshpk-conv +6 -0
  217. package/node_modules/sshpk/lib/certificate.js +291 -0
  218. package/node_modules/sshpk/lib/errors.js +14 -1
  219. package/node_modules/sshpk/lib/fingerprint.js +28 -7
  220. package/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  221. package/node_modules/sshpk/lib/formats/pem.js +2 -2
  222. package/node_modules/sshpk/lib/formats/pkcs8.js +2 -7
  223. package/node_modules/sshpk/lib/formats/ssh-private.js +140 -17
  224. package/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  225. package/node_modules/sshpk/lib/formats/x509.js +484 -0
  226. package/node_modules/sshpk/lib/identity.js +255 -0
  227. package/node_modules/sshpk/lib/index.js +13 -1
  228. package/node_modules/sshpk/lib/key.js +1 -0
  229. package/node_modules/sshpk/lib/signature.js +14 -6
  230. package/node_modules/sshpk/lib/ssh-buffer.js +24 -0
  231. package/node_modules/sshpk/lib/utils.js +43 -1
  232. package/node_modules/sshpk/node_modules/assert-plus/package.json +16 -8
  233. package/node_modules/sshpk/package.json +31 -21
  234. package/node_modules/string-width/index.js +5 -0
  235. package/node_modules/string-width/package.json +49 -36
  236. package/node_modules/string-width/readme.md +4 -3
  237. package/node_modules/string_decoder/package.json +19 -11
  238. package/node_modules/stringstream/package.json +18 -10
  239. package/node_modules/strip-ansi/package.json +29 -21
  240. package/node_modules/strip-json-comments/package.json +27 -19
  241. package/node_modules/supports-color/cli.js +28 -0
  242. package/node_modules/supports-color/index.js +2 -20
  243. package/node_modules/supports-color/package.json +52 -45
  244. package/node_modules/supports-color/readme.md +14 -6
  245. package/node_modules/tar/package.json +19 -11
  246. package/node_modules/tar-pack/README.md +4 -1
  247. package/node_modules/tar-pack/index.js +17 -12
  248. package/node_modules/tar-pack/node_modules/once/LICENSE +15 -0
  249. package/node_modules/tar-pack/node_modules/once/README.md +51 -0
  250. package/node_modules/tar-pack/node_modules/once/once.js +21 -0
  251. package/node_modules/tar-pack/node_modules/once/package.json +96 -0
  252. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +8 -0
  253. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/.travis.yml +4 -7
  254. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/LICENSE +0 -0
  255. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/README.md +2 -2
  256. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +2015 -0
  257. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -0
  258. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/duplex.js +0 -0
  259. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_duplex.js +0 -0
  260. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_passthrough.js +0 -0
  261. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_readable.js +164 -107
  262. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_transform.js +3 -3
  263. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_writable.js +25 -15
  264. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  265. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/package.json +50 -30
  266. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/passthrough.js +0 -0
  267. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/readable.js +4 -0
  268. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/transform.js +0 -0
  269. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/writable.js +0 -0
  270. package/node_modules/tar-pack/package.json +39 -22
  271. package/node_modules/tar-pack/test/index.js +43 -1
  272. package/node_modules/tough-cookie/README.md +17 -3
  273. package/node_modules/tough-cookie/lib/cookie.js +6 -12
  274. package/node_modules/tough-cookie/package.json +50 -35
  275. package/node_modules/tunnel-agent/package.json +15 -7
  276. package/node_modules/tweetnacl/AUTHORS.md +28 -0
  277. package/node_modules/tweetnacl/CHANGELOG.md +93 -0
  278. package/node_modules/tweetnacl/LICENSE +24 -0
  279. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
  280. package/node_modules/tweetnacl/README.md +57 -61
  281. package/node_modules/tweetnacl/nacl-fast.js +22 -52
  282. package/node_modules/tweetnacl/nacl-fast.min.js +2 -2
  283. package/node_modules/tweetnacl/nacl.d.ts +98 -0
  284. package/node_modules/tweetnacl/nacl.js +21 -51
  285. package/node_modules/tweetnacl/nacl.min.js +1 -1
  286. package/node_modules/tweetnacl/package.json +47 -46
  287. package/node_modules/uid-number/package.json +15 -7
  288. package/node_modules/util-deprecate/package.json +21 -13
  289. package/node_modules/uuid/.npmignore +8 -0
  290. package/node_modules/uuid/.travis.yml +5 -0
  291. package/node_modules/uuid/AUTHORS +5 -0
  292. package/node_modules/uuid/HISTORY.md +28 -0
  293. package/node_modules/uuid/LICENSE.md +21 -0
  294. package/node_modules/uuid/README.md +132 -0
  295. package/node_modules/{node-uuid → uuid}/bin/uuid +0 -0
  296. package/node_modules/uuid/index.js +8 -0
  297. package/node_modules/uuid/lib/bytesToUuid.js +23 -0
  298. package/node_modules/uuid/lib/rng-browser.js +33 -0
  299. package/node_modules/uuid/lib/rng.js +10 -0
  300. package/node_modules/uuid/package.json +122 -0
  301. package/node_modules/uuid/test/mocha.opts +3 -0
  302. package/node_modules/uuid/test/test.js +96 -0
  303. package/node_modules/uuid/v1.js +103 -0
  304. package/node_modules/uuid/v4.js +29 -0
  305. package/node_modules/verror/package.json +14 -6
  306. package/node_modules/wide-align/package.json +19 -11
  307. package/node_modules/wrappy/package.json +17 -8
  308. package/node_modules/xtend/package.json +29 -21
  309. package/package.json +1 -1
  310. package/node_modules/async/CHANGELOG.md +0 -125
  311. package/node_modules/async/README.md +0 -1877
  312. package/node_modules/async/dist/async.js +0 -1265
  313. package/node_modules/async/dist/async.min.js +0 -2
  314. package/node_modules/async/lib/async.js +0 -1265
  315. package/node_modules/async/package.json +0 -149
  316. package/node_modules/bl/.jshintrc +0 -59
  317. package/node_modules/bl/.npmignore +0 -1
  318. package/node_modules/bl/.travis.yml +0 -13
  319. package/node_modules/bl/LICENSE.md +0 -13
  320. package/node_modules/bl/README.md +0 -200
  321. package/node_modules/bl/bl.js +0 -243
  322. package/node_modules/bl/node_modules/readable-stream/.npmignore +0 -5
  323. package/node_modules/bl/node_modules/readable-stream/.zuul.yml +0 -1
  324. package/node_modules/bl/node_modules/readable-stream/doc/stream.markdown +0 -1760
  325. package/node_modules/bl/package.json +0 -96
  326. package/node_modules/bl/test/test.js +0 -640
  327. package/node_modules/form-data/.dockerignore +0 -7
  328. package/node_modules/form-data/.editorconfig +0 -10
  329. package/node_modules/form-data/.eslintignore +0 -1
  330. package/node_modules/form-data/.eslintrc +0 -64
  331. package/node_modules/form-data/wercker.yml +0 -36
  332. package/node_modules/gauge/CHANGELOG.md~ +0 -123
  333. package/node_modules/gauge/README.md~ +0 -393
  334. package/node_modules/has-color/index.js +0 -32
  335. package/node_modules/has-color/package.json +0 -97
  336. package/node_modules/has-color/readme.md +0 -30
  337. package/node_modules/inherits/test.js +0 -25
  338. package/node_modules/jsonpointer/.travis.yml +0 -10
  339. package/node_modules/jsonpointer/test.js +0 -98
  340. package/node_modules/node-uuid/.npmignore +0 -4
  341. package/node_modules/node-uuid/README.md +0 -254
  342. package/node_modules/node-uuid/benchmark/README.md +0 -53
  343. package/node_modules/node-uuid/benchmark/bench.gnu +0 -174
  344. package/node_modules/node-uuid/benchmark/bench.sh +0 -34
  345. package/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
  346. package/node_modules/node-uuid/benchmark/benchmark.js +0 -84
  347. package/node_modules/node-uuid/bower.json +0 -23
  348. package/node_modules/node-uuid/component.json +0 -25
  349. package/node_modules/node-uuid/package.json +0 -105
  350. package/node_modules/node-uuid/test/compare_v1.js +0 -63
  351. package/node_modules/node-uuid/test/test.html +0 -17
  352. package/node_modules/node-uuid/test/test.js +0 -231
  353. package/node_modules/node-uuid/uuid.js +0 -272
  354. package/node_modules/npmlog/CHANGELOG.md~ +0 -31
  355. package/node_modules/qs/.jscs.json +0 -176
  356. package/node_modules/readable-stream/doc/stream.md +0 -1772
  357. package/node_modules/request/.eslintrc +0 -45
  358. package/node_modules/request/.npmignore +0 -6
  359. package/node_modules/request/.travis.yml +0 -21
  360. package/node_modules/request/CONTRIBUTING.md +0 -81
  361. package/node_modules/request/codecov.yml +0 -2
@@ -1,41 +1,49 @@
1
1
  {
2
2
  "_args": [
3
3
  [
4
- "qs@~6.2.0",
4
+ {
5
+ "raw": "qs@~6.3.0",
6
+ "scope": null,
7
+ "escapedName": "qs",
8
+ "name": "qs",
9
+ "rawSpec": "~6.3.0",
10
+ "spec": ">=6.3.0 <6.4.0",
11
+ "type": "range"
12
+ },
5
13
  "/Users/eshanker/Code/fsevents/node_modules/request"
6
14
  ]
7
15
  ],
8
- "_from": "qs@>=6.2.0 <6.3.0",
9
- "_id": "qs@6.2.0",
16
+ "_from": "qs@>=6.3.0 <6.4.0",
17
+ "_id": "qs@6.3.0",
10
18
  "_inCache": true,
11
- "_installable": true,
12
19
  "_location": "/qs",
13
- "_nodeVersion": "6.1.0",
20
+ "_nodeVersion": "6.6.0",
14
21
  "_npmOperationalInternal": {
15
- "host": "packages-12-west.internal.npmjs.com",
16
- "tmp": "tmp/qs-6.2.0.tgz_1462749349998_0.03372702235355973"
22
+ "host": "packages-16-east.internal.npmjs.com",
23
+ "tmp": "tmp/qs-6.3.0.tgz_1476663988179_0.7400497454218566"
17
24
  },
18
25
  "_npmUser": {
19
- "email": "ljharb@gmail.com",
20
- "name": "ljharb"
26
+ "name": "ljharb",
27
+ "email": "ljharb@gmail.com"
21
28
  },
22
- "_npmVersion": "3.8.6",
29
+ "_npmVersion": "3.10.3",
23
30
  "_phantomChildren": {},
24
31
  "_requested": {
25
- "name": "qs",
26
- "raw": "qs@~6.2.0",
27
- "rawSpec": "~6.2.0",
32
+ "raw": "qs@~6.3.0",
28
33
  "scope": null,
29
- "spec": ">=6.2.0 <6.3.0",
34
+ "escapedName": "qs",
35
+ "name": "qs",
36
+ "rawSpec": "~6.3.0",
37
+ "spec": ">=6.3.0 <6.4.0",
30
38
  "type": "range"
31
39
  },
32
40
  "_requiredBy": [
33
41
  "/request"
34
42
  ],
35
- "_resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz",
36
- "_shasum": "3b7848c03c2dece69a9522b0fae8c4126d745f3b",
43
+ "_resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz",
44
+ "_shasum": "f403b264f23bc01228c74131b407f18d5ea5d442",
37
45
  "_shrinkwrap": null,
38
- "_spec": "qs@~6.2.0",
46
+ "_spec": "qs@~6.3.0",
39
47
  "_where": "/Users/eshanker/Code/fsevents/node_modules/request",
40
48
  "bugs": {
41
49
  "url": "https://github.com/ljharb/qs/issues"
@@ -50,29 +58,31 @@
50
58
  "dependencies": {},
51
59
  "description": "A querystring parser that supports nesting and arrays, with a depth limit",
52
60
  "devDependencies": {
53
- "@ljharb/eslint-config": "^4.0.0",
54
- "browserify": "^13.0.1",
61
+ "@ljharb/eslint-config": "^8.0.0",
62
+ "browserify": "^13.1.0",
55
63
  "covert": "^1.1.0",
56
- "eslint": "^2.9.0",
64
+ "eslint": "^3.8.0",
57
65
  "evalmd": "^0.0.17",
58
66
  "iconv-lite": "^0.4.13",
59
67
  "mkdirp": "^0.5.1",
60
68
  "parallelshell": "^2.0.0",
61
- "tape": "^4.5.1"
69
+ "qs-iconv": "^1.0.3",
70
+ "safe-publish-latest": "^1.1.1",
71
+ "tape": "^4.6.2"
62
72
  },
63
73
  "directories": {},
64
74
  "dist": {
65
- "shasum": "3b7848c03c2dece69a9522b0fae8c4126d745f3b",
66
- "tarball": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz"
75
+ "shasum": "f403b264f23bc01228c74131b407f18d5ea5d442",
76
+ "tarball": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz"
67
77
  },
68
78
  "engines": {
69
79
  "node": ">=0.6"
70
80
  },
71
- "gitHead": "d67d315b606c6bb809fedcbeebbbdb7f863852aa",
81
+ "gitHead": "8aa9c26f90335b5483a4f456dea9acbada8a881c",
72
82
  "homepage": "https://github.com/ljharb/qs",
73
83
  "keywords": [
74
- "qs",
75
- "querystring"
84
+ "querystring",
85
+ "qs"
76
86
  ],
77
87
  "license": "BSD-3-Clause",
78
88
  "main": "lib/index.js",
@@ -100,12 +110,12 @@
100
110
  "scripts": {
101
111
  "coverage": "covert test",
102
112
  "dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
103
- "lint": "eslint lib/*.js text/*.js",
104
- "prepublish": "npm run dist",
105
- "pretest": "parallelshell 'npm run --silent readme' 'npm run --silent lint'",
113
+ "lint": "eslint lib/*.js test/*.js",
114
+ "prepublish": "safe-publish-latest && npm run dist",
115
+ "pretest": "npm run --silent readme && npm run --silent lint",
106
116
  "readme": "evalmd README.md",
107
117
  "test": "npm run --silent coverage",
108
118
  "tests-only": "node test"
109
119
  },
110
- "version": "6.2.0"
120
+ "version": "6.3.0"
111
121
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "rules": {
3
+ "max-lines": 0,
4
+ "max-nested-callbacks": [2, 3],
5
+ "max-statements": 0,
6
+ "no-extend-native": 0,
7
+ "sort-keys": 1
8
+ }
9
+ }
@@ -1,3 +1,5 @@
1
+ 'use strict';
2
+
1
3
  require('./parse');
2
4
 
3
5
  require('./stringify');
@@ -6,7 +6,7 @@ var iconv = require('iconv-lite');
6
6
 
7
7
  test('parse()', function (t) {
8
8
  t.test('parses a simple string', function (st) {
9
- st.deepEqual(qs.parse('0=foo'), { '0': 'foo' });
9
+ st.deepEqual(qs.parse('0=foo'), { 0: 'foo' });
10
10
  st.deepEqual(qs.parse('foo=c++'), { foo: 'c ' });
11
11
  st.deepEqual(qs.parse('a[>=]=23'), { a: { '>=': '23' } });
12
12
  st.deepEqual(qs.parse('a[<=>]==23'), { a: { '<=>': '=23' } });
@@ -64,8 +64,15 @@ test('parse()', function (t) {
64
64
  st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] });
65
65
  st.deepEqual(qs.parse('a[0]=b&a=c'), { a: ['b', 'c'] });
66
66
  st.deepEqual(qs.parse('a=b&a[0]=c'), { a: ['b', 'c'] });
67
- st.deepEqual(qs.parse('a[1]=b&a=c'), { a: ['b', 'c'] });
68
- st.deepEqual(qs.parse('a=b&a[1]=c'), { a: ['b', 'c'] });
67
+
68
+ st.deepEqual(qs.parse('a[1]=b&a=c', { arrayLimit: 20 }), { a: ['b', 'c'] });
69
+ st.deepEqual(qs.parse('a[]=b&a=c', { arrayLimit: 0 }), { a: ['b', 'c'] });
70
+ st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] });
71
+
72
+ st.deepEqual(qs.parse('a=b&a[1]=c', { arrayLimit: 20 }), { a: ['b', 'c'] });
73
+ st.deepEqual(qs.parse('a=b&a[]=c', { arrayLimit: 0 }), { a: ['b', 'c'] });
74
+ st.deepEqual(qs.parse('a=b&a[]=c'), { a: ['b', 'c'] });
75
+
69
76
  st.end();
70
77
  });
71
78
 
@@ -78,13 +85,15 @@ test('parse()', function (t) {
78
85
  t.test('allows to specify array indices', function (st) {
79
86
  st.deepEqual(qs.parse('a[1]=c&a[0]=b&a[2]=d'), { a: ['b', 'c', 'd'] });
80
87
  st.deepEqual(qs.parse('a[1]=c&a[0]=b'), { a: ['b', 'c'] });
88
+ st.deepEqual(qs.parse('a[1]=c', { arrayLimit: 20 }), { a: ['c'] });
89
+ st.deepEqual(qs.parse('a[1]=c', { arrayLimit: 0 }), { a: { 1: 'c' } });
81
90
  st.deepEqual(qs.parse('a[1]=c'), { a: ['c'] });
82
91
  st.end();
83
92
  });
84
93
 
85
- t.test('limits specific array indices to 20', function (st) {
86
- st.deepEqual(qs.parse('a[20]=a'), { a: ['a'] });
87
- st.deepEqual(qs.parse('a[21]=a'), { a: { '21': 'a' } });
94
+ t.test('limits specific array indices to arrayLimit', function (st) {
95
+ st.deepEqual(qs.parse('a[20]=a', { arrayLimit: 20 }), { a: ['a'] });
96
+ st.deepEqual(qs.parse('a[21]=a', { arrayLimit: 20 }), { a: { 21: 'a' } });
88
97
  st.end();
89
98
  });
90
99
 
@@ -115,14 +124,17 @@ test('parse()', function (t) {
115
124
  });
116
125
 
117
126
  t.test('transforms arrays to objects', function (st) {
118
- st.deepEqual(qs.parse('foo[0]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
119
- st.deepEqual(qs.parse('foo[bad]=baz&foo[0]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
120
- st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
121
- st.deepEqual(qs.parse('foo[]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
122
- st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo'), { foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
127
+ st.deepEqual(qs.parse('foo[0]=bar&foo[bad]=baz'), { foo: { 0: 'bar', bad: 'baz' } });
128
+ st.deepEqual(qs.parse('foo[bad]=baz&foo[0]=bar'), { foo: { bad: 'baz', 0: 'bar' } });
129
+ st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar'), { foo: { bad: 'baz', 0: 'bar' } });
130
+ st.deepEqual(qs.parse('foo[]=bar&foo[bad]=baz'), { foo: { 0: 'bar', bad: 'baz' } });
131
+ st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo'), { foo: { bad: 'baz', 0: 'bar', 1: 'foo' } });
123
132
  st.deepEqual(qs.parse('foo[0][a]=a&foo[0][b]=b&foo[1][a]=aa&foo[1][b]=bb'), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] });
124
- st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c'), { a: { '0': 'b', t: 'u', c: true } });
125
- st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y'), { a: { '0': 'b', '1': 'c', x: 'y' } });
133
+
134
+ st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c', { allowPrototypes: false }), { a: { 0: 'b', c: true, t: 'u' } });
135
+ st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c', { allowPrototypes: true }), { a: { 0: 'b', t: 'u', hasOwnProperty: 'c' } });
136
+ st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y', { allowPrototypes: false }), { a: { 0: 'b', 1: 'c', x: 'y' } });
137
+ st.deepEqual(qs.parse('a[]=b&a[hasOwnProperty]=c&a[x]=y', { allowPrototypes: true }), { a: { 0: 'b', hasOwnProperty: 'c', x: 'y' } });
126
138
  st.end();
127
139
  });
128
140
 
@@ -132,10 +144,10 @@ test('parse()', function (t) {
132
144
  st.deepEqual(qs.parse('foo[0][0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [[{ baz: 'bar' }]], fool: { bad: 'baz' } });
133
145
  st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15'], bar: '2' }] });
134
146
  st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].baz[1]=16&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15', '16'], bar: '2' }] });
135
- st.deepEqual(qs.parse('foo.bad=baz&foo[0]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
136
- st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
137
- st.deepEqual(qs.parse('foo[]=bar&foo.bad=baz', { allowDots: true }), { foo: { '0': 'bar', bad: 'baz' } });
138
- st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar&foo[]=foo', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
147
+ st.deepEqual(qs.parse('foo.bad=baz&foo[0]=bar', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar' } });
148
+ st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar' } });
149
+ st.deepEqual(qs.parse('foo[]=bar&foo.bad=baz', { allowDots: true }), { foo: { 0: 'bar', bad: 'baz' } });
150
+ st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar&foo[]=foo', { allowDots: true }), { foo: { bad: 'baz', 0: 'bar', 1: 'foo' } });
139
151
  st.deepEqual(qs.parse('foo[0].a=a&foo[0].b=b&foo[1].a=aa&foo[1].b=bb', { allowDots: true }), { foo: [{ a: 'a', b: 'b' }, { a: 'aa', b: 'bb' }] });
140
152
  st.end();
141
153
  });
@@ -143,7 +155,7 @@ test('parse()', function (t) {
143
155
  t.deepEqual(qs.parse('a[b]=c&a=d'), { a: { b: 'c', d: true } }, 'can add keys to objects');
144
156
 
145
157
  t.test('correctly prunes undefined values when converting an array to an object', function (st) {
146
- st.deepEqual(qs.parse('a[2]=b&a[99999999]=c'), { a: { '2': 'b', '99999999': 'c' } });
158
+ st.deepEqual(qs.parse('a[2]=b&a[99999999]=c'), { a: { 2: 'b', 99999999: 'c' } });
147
159
  st.end();
148
160
  });
149
161
 
@@ -155,7 +167,7 @@ test('parse()', function (t) {
155
167
  });
156
168
 
157
169
  t.test('doesn\'t produce empty keys', function (st) {
158
- st.deepEqual(qs.parse('_r=1&'), { '_r': '1' });
170
+ st.deepEqual(qs.parse('_r=1&'), { _r: '1' });
159
171
  st.end();
160
172
  });
161
173
 
@@ -174,17 +186,42 @@ test('parse()', function (t) {
174
186
 
175
187
  t.test('allows for empty strings in arrays', function (st) {
176
188
  st.deepEqual(qs.parse('a[]=b&a[]=&a[]=c'), { a: ['b', '', 'c'] });
177
- st.deepEqual(qs.parse('a[0]=b&a[1]&a[2]=c&a[19]=', { strictNullHandling: true }), { a: ['b', null, 'c', ''] });
178
- st.deepEqual(qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]', { strictNullHandling: true }), { a: ['b', '', 'c', null] });
179
- st.deepEqual(qs.parse('a[]=&a[]=b&a[]=c'), { a: ['', 'b', 'c'] });
189
+
190
+ st.deepEqual(
191
+ qs.parse('a[0]=b&a[1]&a[2]=c&a[19]=', { strictNullHandling: true, arrayLimit: 20 }),
192
+ { a: ['b', null, 'c', ''] },
193
+ 'with arrayLimit 20 + array indices: null then empty string works'
194
+ );
195
+ st.deepEqual(
196
+ qs.parse('a[]=b&a[]&a[]=c&a[]=', { strictNullHandling: true, arrayLimit: 0 }),
197
+ { a: ['b', null, 'c', ''] },
198
+ 'with arrayLimit 0 + array brackets: null then empty string works'
199
+ );
200
+
201
+ st.deepEqual(
202
+ qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]', { strictNullHandling: true, arrayLimit: 20 }),
203
+ { a: ['b', '', 'c', null] },
204
+ 'with arrayLimit 20 + array indices: empty string then null works'
205
+ );
206
+ st.deepEqual(
207
+ qs.parse('a[]=b&a[]=&a[]=c&a[]', { strictNullHandling: true, arrayLimit: 0 }),
208
+ { a: ['b', '', 'c', null] },
209
+ 'with arrayLimit 0 + array brackets: empty string then null works'
210
+ );
211
+
212
+ st.deepEqual(
213
+ qs.parse('a[]=&a[]=b&a[]=c'),
214
+ { a: ['', 'b', 'c'] },
215
+ 'array brackets: empty strings work'
216
+ );
180
217
  st.end();
181
218
  });
182
219
 
183
220
  t.test('compacts sparse arrays', function (st) {
184
- st.deepEqual(qs.parse('a[10]=1&a[2]=2'), { a: ['2', '1'] });
185
- st.deepEqual(qs.parse('a[1][b][2][c]=1'), { a: [{ b: [{ c: '1' }] }] });
186
- st.deepEqual(qs.parse('a[1][2][3][c]=1'), { a: [[[{ c: '1' }]]] });
187
- st.deepEqual(qs.parse('a[1][2][3][c][1]=1'), { a: [[[{ c: ['1'] }]]] });
221
+ st.deepEqual(qs.parse('a[10]=1&a[2]=2', { arrayLimit: 20 }), { a: ['2', '1'] });
222
+ st.deepEqual(qs.parse('a[1][b][2][c]=1', { arrayLimit: 20 }), { a: [{ b: [{ c: '1' }] }] });
223
+ st.deepEqual(qs.parse('a[1][2][3][c]=1', { arrayLimit: 20 }), { a: [[[{ c: '1' }]]] });
224
+ st.deepEqual(qs.parse('a[1][2][3][c][1]=1', { arrayLimit: 20 }), { a: [[[{ c: ['1'] }]]] });
188
225
  st.end();
189
226
  });
190
227
 
@@ -201,8 +238,8 @@ test('parse()', function (t) {
201
238
  });
202
239
 
203
240
  t.test('continues parsing when no parent is found', function (st) {
204
- st.deepEqual(qs.parse('[]=&a=b'), { '0': '', a: 'b' });
205
- st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { '0': null, a: 'b' });
241
+ st.deepEqual(qs.parse('[]=&a=b'), { 0: '', a: 'b' });
242
+ st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { 0: null, a: 'b' });
206
243
  st.deepEqual(qs.parse('[foo]=bar'), { foo: 'bar' });
207
244
  st.end();
208
245
  });
@@ -213,7 +250,9 @@ test('parse()', function (t) {
213
250
  str = str + '&' + str;
214
251
  }
215
252
 
216
- st.doesNotThrow(function () { qs.parse(str); });
253
+ st.doesNotThrow(function () {
254
+ qs.parse(str);
255
+ });
217
256
 
218
257
  st.end();
219
258
  });
@@ -256,14 +295,14 @@ test('parse()', function (t) {
256
295
  });
257
296
 
258
297
  t.test('allows overriding array limit', function (st) {
259
- st.deepEqual(qs.parse('a[0]=b', { arrayLimit: -1 }), { a: { '0': 'b' } });
298
+ st.deepEqual(qs.parse('a[0]=b', { arrayLimit: -1 }), { a: { 0: 'b' } });
260
299
  st.deepEqual(qs.parse('a[-1]=b', { arrayLimit: -1 }), { a: { '-1': 'b' } });
261
- st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 }), { a: { '0': 'b', '1': 'c' } });
300
+ st.deepEqual(qs.parse('a[0]=b&a[1]=c', { arrayLimit: 0 }), { a: { 0: 'b', 1: 'c' } });
262
301
  st.end();
263
302
  });
264
303
 
265
304
  t.test('allows disabling array parsing', function (st) {
266
- st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { '0': 'b', '1': 'c' } });
305
+ st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { 0: 'b', 1: 'c' } });
267
306
  st.end();
268
307
  });
269
308
 
@@ -307,13 +346,13 @@ test('parse()', function (t) {
307
346
 
308
347
  t.test('parses an object and not child values', function (st) {
309
348
  var input = {
310
- 'user[name]': { 'pop[bob]': { 'test': 3 } },
349
+ 'user[name]': { 'pop[bob]': { test: 3 } },
311
350
  'user[email]': null
312
351
  };
313
352
 
314
353
  var expected = {
315
354
  user: {
316
- name: { 'pop[bob]': { 'test': 3 } },
355
+ name: { 'pop[bob]': { test: 3 } },
317
356
  email: null
318
357
  }
319
358
  };
@@ -351,7 +390,7 @@ test('parse()', function (t) {
351
390
  st.end();
352
391
  });
353
392
 
354
- t.test('parses plain objects correctly', function (st) {
393
+ t.test('parses null objects correctly', { skip: !Object.create }, function (st) {
355
394
  var a = Object.create(null);
356
395
  a.b = 'c';
357
396
 
@@ -380,7 +419,7 @@ test('parse()', function (t) {
380
419
  st.end();
381
420
  });
382
421
 
383
- t.test('can return plain objects', function (st) {
422
+ t.test('can return null objects', { skip: !Object.create }, function (st) {
384
423
  var expected = Object.create(null);
385
424
  expected.a = Object.create(null);
386
425
  expected.a.b = 'c';
@@ -389,7 +428,7 @@ test('parse()', function (t) {
389
428
  st.deepEqual(qs.parse(null, { plainObjects: true }), Object.create(null));
390
429
  var expectedArray = Object.create(null);
391
430
  expectedArray.a = Object.create(null);
392
- expectedArray.a['0'] = 'b';
431
+ expectedArray.a[0] = 'b';
393
432
  expectedArray.a.c = 'd';
394
433
  st.deepEqual(qs.parse('a[]=b&a[c]=d', { plainObjects: true }), expectedArray);
395
434
  st.end();
@@ -398,13 +437,12 @@ test('parse()', function (t) {
398
437
  t.test('can parse with custom encoding', function (st) {
399
438
  st.deepEqual(qs.parse('%8c%a7=%91%e5%8d%e3%95%7b', {
400
439
  decoder: function (str) {
401
- var reg = /\%([0-9A-F]{2})/ig;
440
+ var reg = /%([0-9A-F]{2})/ig;
402
441
  var result = [];
403
- var parts;
404
- var last = 0;
405
- while (parts = reg.exec(str)) {
442
+ var parts = reg.exec(str);
443
+ while (parts) {
406
444
  result.push(parseInt(parts[1], 16));
407
- last = parts.index + parts[0].length;
445
+ parts = reg.exec(str);
408
446
  }
409
447
  return iconv.decode(new Buffer(result), 'shift_jis').toString();
410
448
  }
@@ -414,9 +452,7 @@ test('parse()', function (t) {
414
452
 
415
453
  t.test('throws error with wrong decoder', function (st) {
416
454
  st.throws(function () {
417
- qs.parse({}, {
418
- decoder: 'string'
419
- });
455
+ qs.parse({}, { decoder: 'string' });
420
456
  }, new TypeError('Decoder has to be a function.'));
421
457
  st.end();
422
458
  });