fsevents 1.0.11 → 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 (641) hide show
  1. package/.npmignore +1 -3
  2. package/.travis.yml +7 -5
  3. package/ISSUE_TEMPLATE.md +8 -0
  4. package/build/.target.mk +49 -0
  5. package/build/Makefile +352 -0
  6. package/build/action_after_build.target.mk +32 -0
  7. package/build/binding.Makefile +6 -0
  8. package/build/fse.target.mk +169 -0
  9. package/build/gyp-mac-tool +612 -0
  10. package/fsevents.cc +2 -2
  11. package/lib/binding/Release/node-v11-darwin-x64/fse.node +0 -0
  12. package/lib/binding/Release/node-v46-darwin-x64/fse.node +0 -0
  13. package/lib/binding/Release/node-v47-darwin-x64/fse.node +0 -0
  14. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  15. package/node_modules/{aws4/node_modules/lru-cache/node_modules/pseudomap → abbrev}/LICENSE +0 -0
  16. package/node_modules/{node-pre-gyp/node_modules/nopt/node_modules/abbrev → abbrev}/README.md +0 -0
  17. package/node_modules/{node-pre-gyp/node_modules/nopt/node_modules/abbrev → abbrev}/abbrev.js +0 -0
  18. package/node_modules/abbrev/package.json +90 -0
  19. package/node_modules/{lodash.repeat/LICENSE → ansi-regex/license} +5 -7
  20. package/node_modules/ansi-regex/package.json +47 -21
  21. package/node_modules/{lodash.padstart/LICENSE → ansi-styles/license} +5 -7
  22. package/node_modules/ansi-styles/package.json +44 -19
  23. package/node_modules/aproba/LICENSE +14 -0
  24. package/node_modules/aproba/README.md +59 -0
  25. package/node_modules/aproba/index.js +62 -0
  26. package/node_modules/aproba/package.json +96 -0
  27. package/node_modules/are-we-there-yet/package.json +31 -6
  28. package/node_modules/asn1/package.json +31 -5
  29. package/node_modules/assert-plus/package.json +33 -8
  30. package/node_modules/{node-uuid/LICENSE.md → asynckit/LICENSE} +1 -1
  31. package/node_modules/asynckit/README.md +233 -0
  32. package/node_modules/asynckit/bench.js +76 -0
  33. package/node_modules/asynckit/index.js +6 -0
  34. package/node_modules/asynckit/lib/abort.js +29 -0
  35. package/node_modules/asynckit/lib/async.js +34 -0
  36. package/node_modules/asynckit/lib/defer.js +26 -0
  37. package/node_modules/asynckit/lib/iterate.js +75 -0
  38. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  39. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  40. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  41. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  42. package/node_modules/asynckit/lib/state.js +37 -0
  43. package/node_modules/asynckit/lib/streamify.js +141 -0
  44. package/node_modules/asynckit/lib/terminator.js +29 -0
  45. package/node_modules/asynckit/package.json +126 -0
  46. package/node_modules/asynckit/parallel.js +43 -0
  47. package/node_modules/asynckit/serial.js +17 -0
  48. package/node_modules/asynckit/serialOrdered.js +75 -0
  49. package/node_modules/asynckit/stream.js +21 -0
  50. package/node_modules/aws-sign2/package.json +31 -5
  51. package/node_modules/aws4/README.md +9 -0
  52. package/node_modules/aws4/aws4.js +9 -4
  53. package/node_modules/aws4/lru.js +96 -0
  54. package/node_modules/aws4/package.json +79 -56
  55. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion → balanced-match}/.npmignore +2 -0
  56. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match → balanced-match}/LICENSE.md +0 -0
  57. package/node_modules/{rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match → balanced-match}/README.md +5 -3
  58. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match → balanced-match}/index.js +9 -1
  59. package/node_modules/balanced-match/package.json +110 -0
  60. package/node_modules/bcrypt-pbkdf/README.md +39 -0
  61. package/node_modules/bcrypt-pbkdf/index.js +559 -0
  62. package/node_modules/bcrypt-pbkdf/package.json +72 -0
  63. package/node_modules/block-stream/package.json +47 -14
  64. package/node_modules/boom/package.json +30 -4
  65. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion → brace-expansion}/README.md +0 -0
  66. package/node_modules/{rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion → brace-expansion}/index.js +10 -0
  67. package/node_modules/brace-expansion/package.json +112 -0
  68. package/node_modules/buffer-shims/index.js +108 -0
  69. package/node_modules/buffer-shims/license.md +19 -0
  70. package/node_modules/buffer-shims/package.json +86 -0
  71. package/node_modules/buffer-shims/readme.md +21 -0
  72. package/node_modules/caseless/package.json +34 -8
  73. package/node_modules/{lodash.pad/LICENSE → chalk/license} +5 -7
  74. package/node_modules/chalk/node_modules/supports-color/index.js +50 -0
  75. package/node_modules/chalk/node_modules/supports-color/license +21 -0
  76. package/node_modules/chalk/node_modules/supports-color/package.json +113 -0
  77. package/node_modules/chalk/node_modules/supports-color/readme.md +36 -0
  78. package/node_modules/chalk/package.json +47 -22
  79. package/node_modules/code-point-at/index.js +32 -0
  80. package/node_modules/code-point-at/license +21 -0
  81. package/node_modules/code-point-at/package.json +106 -0
  82. package/node_modules/code-point-at/readme.md +32 -0
  83. package/node_modules/combined-stream/package.json +31 -5
  84. package/node_modules/commander/History.md +261 -0
  85. package/node_modules/commander/LICENSE +22 -0
  86. package/node_modules/commander/package.json +32 -6
  87. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/.travis.yml +0 -0
  88. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/LICENSE +0 -0
  89. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/README.markdown +0 -0
  90. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/example/map.js +0 -0
  91. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/index.js +0 -0
  92. package/node_modules/{rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/package.json +47 -21
  93. package/node_modules/{fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → concat-map}/test/map.js +0 -0
  94. package/node_modules/console-control-strings/LICENSE +13 -0
  95. package/node_modules/console-control-strings/README.md +145 -0
  96. package/node_modules/console-control-strings/README.md~ +140 -0
  97. package/node_modules/console-control-strings/index.js +125 -0
  98. package/node_modules/console-control-strings/package.json +96 -0
  99. package/node_modules/core-util-is/package.json +38 -11
  100. package/node_modules/cryptiles/package.json +30 -4
  101. package/node_modules/dashdash/CHANGES.md +364 -0
  102. package/node_modules/dashdash/LICENSE.txt +24 -0
  103. package/node_modules/dashdash/etc/dashdash.bash_completion.in +4 -3
  104. package/node_modules/dashdash/lib/dashdash.js +34 -1
  105. package/node_modules/dashdash/node_modules/assert-plus/package.json +33 -8
  106. package/node_modules/dashdash/package.json +49 -23
  107. package/node_modules/debug/package.json +36 -10
  108. package/node_modules/deep-extend/CHANGELOG.md +21 -0
  109. package/node_modules/{rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map → deep-extend}/LICENSE +3 -1
  110. package/node_modules/deep-extend/package.json +40 -15
  111. package/node_modules/delayed-stream/package.json +31 -5
  112. package/node_modules/delegates/package.json +31 -6
  113. package/node_modules/ecc-jsbn/package.json +33 -7
  114. package/node_modules/escape-string-regexp/license +21 -0
  115. package/node_modules/escape-string-regexp/package.json +37 -12
  116. package/node_modules/extend/package.json +32 -6
  117. package/node_modules/extsprintf/package.json +30 -5
  118. package/node_modules/forever-agent/package.json +31 -5
  119. package/node_modules/form-data/README.md +7 -8
  120. package/node_modules/form-data/lib/browser.js +1 -1
  121. package/node_modules/form-data/lib/form_data.js +101 -72
  122. package/node_modules/form-data/lib/populate.js +6 -5
  123. package/node_modules/form-data/package.json +80 -47
  124. package/node_modules/fs.realpath/LICENSE +43 -0
  125. package/node_modules/fs.realpath/README.md +33 -0
  126. package/node_modules/fs.realpath/index.js +66 -0
  127. package/node_modules/fs.realpath/old.js +303 -0
  128. package/node_modules/fs.realpath/package.json +94 -0
  129. package/node_modules/fstream/.travis.yml +4 -4
  130. package/node_modules/fstream/lib/collect.js +2 -0
  131. package/node_modules/fstream/package.json +46 -16
  132. package/node_modules/fstream-ignore/package.json +54 -18
  133. package/node_modules/gauge/CHANGELOG.md +145 -0
  134. package/node_modules/gauge/README.md +321 -88
  135. package/node_modules/gauge/base-theme.js +14 -0
  136. package/node_modules/gauge/error.js +24 -0
  137. package/node_modules/gauge/has-color.js +12 -0
  138. package/node_modules/gauge/index.js +230 -0
  139. package/node_modules/gauge/package.json +82 -27
  140. package/node_modules/gauge/plumbing.js +47 -0
  141. package/node_modules/gauge/process.js +3 -0
  142. package/node_modules/gauge/progress-bar.js +29 -219
  143. package/node_modules/gauge/render-template.js +181 -0
  144. package/node_modules/gauge/set-immediate.js +7 -0
  145. package/node_modules/gauge/set-interval.js +3 -0
  146. package/node_modules/gauge/spin.js +5 -0
  147. package/node_modules/gauge/template-item.js +73 -0
  148. package/node_modules/gauge/theme-set.js +115 -0
  149. package/node_modules/gauge/themes.js +54 -0
  150. package/node_modules/gauge/wide-truncate.js +25 -0
  151. package/node_modules/generate-function/package.json +32 -6
  152. package/node_modules/generate-object-property/package.json +30 -4
  153. package/node_modules/getpass/.npmignore +8 -0
  154. package/node_modules/getpass/.travis.yml +9 -0
  155. package/node_modules/getpass/LICENSE +18 -0
  156. package/node_modules/getpass/README.md +32 -0
  157. package/node_modules/getpass/lib/index.js +123 -0
  158. package/node_modules/getpass/node_modules/assert-plus/AUTHORS +6 -0
  159. package/node_modules/getpass/node_modules/assert-plus/CHANGES.md +14 -0
  160. package/node_modules/getpass/node_modules/assert-plus/README.md +162 -0
  161. package/node_modules/getpass/node_modules/assert-plus/assert.js +211 -0
  162. package/node_modules/getpass/node_modules/assert-plus/package.json +115 -0
  163. package/node_modules/getpass/package.json +90 -0
  164. package/node_modules/{aws4/node_modules/lru-cache/node_modules/yallist → glob}/LICENSE +0 -0
  165. package/node_modules/{rimraf/node_modules/glob → glob}/README.md +3 -0
  166. package/node_modules/glob/changelog.md +67 -0
  167. package/node_modules/{rimraf/node_modules/glob → glob}/common.js +6 -1
  168. package/node_modules/{rimraf/node_modules/glob → glob}/glob.js +25 -15
  169. package/node_modules/glob/package.json +111 -0
  170. package/node_modules/{rimraf/node_modules/glob → glob}/sync.js +31 -12
  171. package/node_modules/graceful-fs/LICENSE +15 -0
  172. package/node_modules/graceful-fs/README.md +83 -3
  173. package/node_modules/graceful-fs/graceful-fs.js +23 -14
  174. package/node_modules/graceful-fs/package.json +50 -24
  175. package/node_modules/graceful-fs/polyfills.js +99 -21
  176. package/node_modules/graceful-readlink/package.json +30 -4
  177. package/node_modules/har-validator/LICENSE +13 -0
  178. package/node_modules/har-validator/package.json +32 -6
  179. package/node_modules/has-ansi/license +21 -0
  180. package/node_modules/has-ansi/package.json +45 -19
  181. package/node_modules/has-unicode/index.js +3 -8
  182. package/node_modules/has-unicode/package.json +50 -18
  183. package/node_modules/hawk/package.json +34 -8
  184. package/node_modules/hoek/package.json +30 -4
  185. package/node_modules/http-signature/package.json +30 -4
  186. package/node_modules/{rimraf/node_modules/glob/node_modules/inflight → inflight}/LICENSE +0 -0
  187. package/node_modules/{rimraf/node_modules/glob/node_modules/inflight → inflight}/README.md +0 -0
  188. package/node_modules/inflight/inflight.js +54 -0
  189. package/node_modules/inflight/package.json +105 -0
  190. package/node_modules/inherits/inherits.js +7 -1
  191. package/node_modules/inherits/package.json +53 -26
  192. package/node_modules/{node-pre-gyp/node_modules/nopt → ini}/LICENSE +0 -0
  193. package/node_modules/ini/package.json +32 -7
  194. package/node_modules/is-fullwidth-code-point/index.js +46 -0
  195. package/node_modules/is-fullwidth-code-point/license +21 -0
  196. package/node_modules/is-fullwidth-code-point/package.json +108 -0
  197. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  198. package/node_modules/is-my-json-valid/index.js +10 -0
  199. package/node_modules/is-my-json-valid/package.json +52 -19
  200. package/node_modules/is-my-json-valid/test/misc.js +24 -0
  201. package/node_modules/is-property/package.json +35 -9
  202. package/node_modules/is-typedarray/package.json +32 -6
  203. package/node_modules/isarray/package.json +44 -17
  204. package/node_modules/isstream/package.json +35 -9
  205. package/node_modules/jodid25519/package.json +33 -7
  206. package/node_modules/jsbn/package.json +30 -4
  207. package/node_modules/json-schema/lib/links.js +17 -3
  208. package/node_modules/json-schema/lib/validate.js +18 -5
  209. package/node_modules/json-schema/package.json +44 -12
  210. package/node_modules/json-stringify-safe/package.json +34 -8
  211. package/node_modules/jsonpointer/LICENSE.md +21 -0
  212. package/node_modules/jsonpointer/README.md +17 -10
  213. package/node_modules/jsonpointer/jsonpointer.js +73 -56
  214. package/node_modules/jsonpointer/package.json +57 -18
  215. package/node_modules/jsprim/CHANGES.md +9 -0
  216. package/node_modules/jsprim/README.md +13 -4
  217. package/node_modules/jsprim/lib/jsprim.js +12 -2
  218. package/node_modules/jsprim/package.json +44 -14
  219. package/node_modules/mime-db/HISTORY.md +55 -0
  220. package/node_modules/mime-db/db.json +139 -2
  221. package/node_modules/mime-db/package.json +56 -27
  222. package/node_modules/mime-types/HISTORY.md +19 -0
  223. package/node_modules/mime-types/index.js +8 -8
  224. package/node_modules/mime-types/package.json +48 -19
  225. package/node_modules/{node-pre-gyp/node_modules/nopt/node_modules/abbrev → minimatch}/LICENSE +0 -0
  226. package/node_modules/{fstream-ignore/node_modules/minimatch → minimatch}/README.md +2 -9
  227. package/node_modules/{rimraf/node_modules/glob/node_modules/minimatch → minimatch}/minimatch.js +34 -23
  228. package/node_modules/minimatch/package.json +98 -0
  229. package/node_modules/minimist/package.json +24 -16
  230. package/node_modules/mkdirp/package.json +25 -15
  231. package/node_modules/ms/History.md +66 -0
  232. package/node_modules/ms/package.json +29 -3
  233. package/node_modules/node-pre-gyp/CHANGELOG.md +37 -0
  234. package/node_modules/node-pre-gyp/README.md +34 -30
  235. package/node_modules/node-pre-gyp/appveyor.yml +20 -10
  236. package/node_modules/node-pre-gyp/lib/install.js +42 -8
  237. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +2 -0
  238. package/node_modules/node-pre-gyp/lib/testbinary.js +9 -9
  239. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +172 -0
  240. package/node_modules/node-pre-gyp/package.json +55 -57
  241. package/node_modules/{ansi → nopt}/.npmignore +0 -0
  242. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/.travis.yml +0 -0
  243. package/node_modules/{rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy → nopt}/LICENSE +0 -0
  244. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/README.md +0 -0
  245. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/bin/nopt.js +0 -0
  246. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/examples/my-program.js +0 -0
  247. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/lib/nopt.js +0 -0
  248. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/package.json +32 -6
  249. package/node_modules/{node-pre-gyp/node_modules/nopt → nopt}/test/basic.js +0 -0
  250. package/node_modules/npmlog/CHANGELOG.md +45 -0
  251. package/node_modules/npmlog/README.md +23 -2
  252. package/node_modules/npmlog/log.js +109 -58
  253. package/node_modules/npmlog/package.json +54 -20
  254. package/node_modules/number-is-nan/index.js +4 -0
  255. package/node_modules/number-is-nan/license +21 -0
  256. package/node_modules/number-is-nan/package.json +103 -0
  257. package/node_modules/number-is-nan/readme.md +28 -0
  258. package/node_modules/oauth-sign/package.json +47 -15
  259. package/node_modules/object-assign/index.js +83 -0
  260. package/node_modules/object-assign/license +21 -0
  261. package/node_modules/object-assign/package.json +114 -0
  262. package/node_modules/object-assign/readme.md +56 -0
  263. package/node_modules/{rimraf/node_modules/glob/node_modules/once/node_modules/wrappy → once}/LICENSE +0 -0
  264. package/node_modules/once/README.md +28 -0
  265. package/node_modules/once/once.js +21 -0
  266. package/node_modules/once/package.json +47 -16
  267. package/node_modules/{rimraf/node_modules/glob/node_modules/path-is-absolute → path-is-absolute}/index.js +5 -5
  268. package/node_modules/path-is-absolute/license +21 -0
  269. package/node_modules/path-is-absolute/package.json +111 -0
  270. package/node_modules/{rimraf/node_modules/glob/node_modules/path-is-absolute → path-is-absolute}/readme.md +19 -11
  271. package/node_modules/pinkie/license +21 -0
  272. package/node_modules/pinkie/package.json +35 -10
  273. package/node_modules/pinkie-promise/index.js +1 -1
  274. package/node_modules/pinkie-promise/license +21 -0
  275. package/node_modules/pinkie-promise/package.json +46 -16
  276. package/node_modules/process-nextick-args/index.js +31 -8
  277. package/node_modules/process-nextick-args/package.json +44 -13
  278. package/node_modules/punycode/LICENSE-MIT.txt +20 -0
  279. package/node_modules/punycode/README.md +176 -0
  280. package/node_modules/punycode/package.json +127 -0
  281. package/node_modules/punycode/punycode.js +533 -0
  282. package/node_modules/qs/.eslintrc +15 -13
  283. package/node_modules/qs/CHANGELOG.md +34 -0
  284. package/node_modules/qs/README.md +66 -3
  285. package/node_modules/qs/dist/qs.js +196 -97
  286. package/node_modules/qs/lib/formats.js +18 -0
  287. package/node_modules/qs/lib/index.js +6 -4
  288. package/node_modules/qs/lib/parse.js +48 -46
  289. package/node_modules/qs/lib/stringify.js +90 -33
  290. package/node_modules/qs/lib/utils.js +28 -10
  291. package/node_modules/qs/package.json +57 -24
  292. package/node_modules/qs/test/.eslintrc +9 -0
  293. package/node_modules/qs/test/index.js +2 -0
  294. package/node_modules/qs/test/parse.js +100 -34
  295. package/node_modules/qs/test/stringify.js +315 -12
  296. package/node_modules/qs/test/utils.js +13 -0
  297. package/node_modules/rc/node_modules/minimist/package.json +40 -14
  298. package/node_modules/rc/package.json +34 -9
  299. package/node_modules/readable-stream/.npmignore +5 -1
  300. package/node_modules/readable-stream/.travis.yml +4 -7
  301. package/node_modules/readable-stream/README.md +6 -2
  302. package/node_modules/readable-stream/lib/_stream_readable.js +173 -112
  303. package/node_modules/readable-stream/lib/_stream_transform.js +9 -7
  304. package/node_modules/readable-stream/lib/_stream_writable.js +57 -19
  305. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  306. package/node_modules/readable-stream/package.json +59 -22
  307. package/node_modules/readable-stream/readable.js +4 -0
  308. package/node_modules/request/CHANGELOG.md +93 -24
  309. package/node_modules/request/README.md +12 -8
  310. package/node_modules/request/index.js +8 -8
  311. package/node_modules/request/lib/auth.js +1 -1
  312. package/node_modules/request/lib/helpers.js +7 -16
  313. package/node_modules/request/lib/multipart.js +1 -1
  314. package/node_modules/request/lib/oauth.js +1 -1
  315. package/node_modules/request/lib/redirect.js +5 -1
  316. package/node_modules/request/package.json +79 -38
  317. package/node_modules/request/request.js +140 -84
  318. package/node_modules/rimraf/package.json +44 -19
  319. package/node_modules/rimraf/rimraf.js +12 -4
  320. package/node_modules/semver/README.md +31 -8
  321. package/node_modules/semver/package.json +48 -14
  322. package/node_modules/semver/range.bnf +1 -1
  323. package/node_modules/semver/semver.js +21 -6
  324. package/node_modules/set-blocking/CHANGELOG.md +26 -0
  325. package/node_modules/set-blocking/LICENSE.txt +14 -0
  326. package/node_modules/set-blocking/README.md +31 -0
  327. package/node_modules/set-blocking/index.js +7 -0
  328. package/node_modules/set-blocking/package.json +106 -0
  329. package/node_modules/signal-exit/CHANGELOG.md +27 -0
  330. package/node_modules/signal-exit/LICENSE.txt +16 -0
  331. package/node_modules/signal-exit/README.md +40 -0
  332. package/node_modules/signal-exit/index.js +157 -0
  333. package/node_modules/signal-exit/package.json +106 -0
  334. package/node_modules/signal-exit/signals.js +53 -0
  335. package/node_modules/sntp/package.json +32 -6
  336. package/node_modules/sshpk/.travis.yml +3 -3
  337. package/node_modules/sshpk/README.md +237 -7
  338. package/node_modules/sshpk/bin/sshpk-conv +20 -2
  339. package/node_modules/sshpk/bin/sshpk-sign +16 -1
  340. package/node_modules/sshpk/lib/certificate.js +291 -0
  341. package/node_modules/sshpk/lib/errors.js +27 -1
  342. package/node_modules/sshpk/lib/fingerprint.js +28 -7
  343. package/node_modules/sshpk/lib/formats/auto.js +8 -8
  344. package/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  345. package/node_modules/sshpk/lib/formats/pem.js +41 -7
  346. package/node_modules/sshpk/lib/formats/pkcs1.js +4 -4
  347. package/node_modules/sshpk/lib/formats/pkcs8.js +6 -11
  348. package/node_modules/sshpk/lib/formats/rfc4253.js +2 -2
  349. package/node_modules/sshpk/lib/formats/ssh-private.js +143 -20
  350. package/node_modules/sshpk/lib/formats/ssh.js +2 -2
  351. package/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  352. package/node_modules/sshpk/lib/formats/x509.js +484 -0
  353. package/node_modules/sshpk/lib/identity.js +255 -0
  354. package/node_modules/sshpk/lib/index.js +14 -1
  355. package/node_modules/sshpk/lib/key.js +21 -17
  356. package/node_modules/sshpk/lib/private-key.js +19 -12
  357. package/node_modules/sshpk/lib/signature.js +14 -6
  358. package/node_modules/sshpk/lib/ssh-buffer.js +24 -0
  359. package/node_modules/sshpk/lib/utils.js +82 -1
  360. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  361. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +14 -0
  362. package/node_modules/sshpk/node_modules/assert-plus/README.md +162 -0
  363. package/node_modules/sshpk/node_modules/assert-plus/assert.js +211 -0
  364. package/node_modules/sshpk/node_modules/assert-plus/package.json +115 -0
  365. package/node_modules/sshpk/package.json +63 -35
  366. package/node_modules/string-width/index.js +37 -0
  367. package/node_modules/string-width/license +21 -0
  368. package/node_modules/string-width/package.json +124 -0
  369. package/node_modules/string-width/readme.md +42 -0
  370. package/node_modules/string_decoder/package.json +35 -8
  371. package/node_modules/stringstream/package.json +34 -8
  372. package/node_modules/strip-ansi/license +21 -0
  373. package/node_modules/strip-ansi/package.json +49 -22
  374. package/node_modules/strip-json-comments/license +21 -0
  375. package/node_modules/strip-json-comments/package.json +43 -17
  376. package/node_modules/supports-color/cli.js +28 -0
  377. package/node_modules/supports-color/index.js +2 -20
  378. package/node_modules/supports-color/package.json +61 -36
  379. package/node_modules/supports-color/readme.md +14 -6
  380. package/node_modules/tar/package.json +31 -5
  381. package/node_modules/tar-pack/README.md +4 -1
  382. package/node_modules/tar-pack/index.js +17 -12
  383. package/node_modules/tar-pack/node_modules/once/LICENSE +15 -0
  384. package/node_modules/{rimraf/node_modules/glob → tar-pack}/node_modules/once/README.md +0 -0
  385. package/node_modules/{rimraf/node_modules/glob → tar-pack}/node_modules/once/once.js +0 -0
  386. package/node_modules/{rimraf/node_modules/glob → tar-pack}/node_modules/once/package.json +34 -9
  387. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +8 -0
  388. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +49 -0
  389. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +18 -0
  390. package/node_modules/tar-pack/node_modules/readable-stream/README.md +36 -0
  391. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +2015 -0
  392. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  393. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +1 -0
  394. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +75 -0
  395. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +26 -0
  396. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +937 -0
  397. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +180 -0
  398. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +526 -0
  399. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  400. package/node_modules/tar-pack/node_modules/readable-stream/package.json +125 -0
  401. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +1 -0
  402. package/node_modules/tar-pack/node_modules/readable-stream/readable.js +16 -0
  403. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +1 -0
  404. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +1 -0
  405. package/node_modules/tar-pack/package.json +54 -20
  406. package/node_modules/tar-pack/test/index.js +43 -1
  407. package/node_modules/tough-cookie/LICENSE +27 -0
  408. package/node_modules/tough-cookie/README.md +17 -3
  409. package/node_modules/tough-cookie/lib/cookie.js +6 -12
  410. package/node_modules/tough-cookie/package.json +62 -30
  411. package/node_modules/tunnel-agent/package.json +46 -13
  412. package/node_modules/tweetnacl/AUTHORS.md +28 -0
  413. package/node_modules/tweetnacl/CHANGELOG.md +40 -0
  414. package/node_modules/tweetnacl/LICENSE +24 -0
  415. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
  416. package/node_modules/tweetnacl/README.md +33 -19
  417. package/node_modules/tweetnacl/nacl-fast.min.js +2 -2
  418. package/node_modules/tweetnacl/nacl.d.ts +98 -0
  419. package/node_modules/tweetnacl/nacl.min.js +1 -1
  420. package/node_modules/tweetnacl/package.json +44 -17
  421. package/node_modules/uid-number/package.json +32 -7
  422. package/node_modules/util-deprecate/package.json +37 -10
  423. package/node_modules/uuid/.npmignore +8 -0
  424. package/node_modules/uuid/.travis.yml +5 -0
  425. package/node_modules/uuid/AUTHORS +5 -0
  426. package/node_modules/uuid/HISTORY.md +28 -0
  427. package/node_modules/{lodash.padend/LICENSE → uuid/LICENSE.md} +1 -3
  428. package/node_modules/uuid/README.md +132 -0
  429. package/node_modules/{node-uuid → uuid}/bin/uuid +0 -0
  430. package/node_modules/uuid/index.js +8 -0
  431. package/node_modules/uuid/lib/bytesToUuid.js +23 -0
  432. package/node_modules/uuid/lib/rng-browser.js +33 -0
  433. package/node_modules/uuid/lib/rng.js +10 -0
  434. package/node_modules/uuid/package.json +122 -0
  435. package/node_modules/uuid/test/mocha.opts +3 -0
  436. package/node_modules/uuid/test/test.js +96 -0
  437. package/node_modules/uuid/v1.js +103 -0
  438. package/node_modules/uuid/v4.js +29 -0
  439. package/node_modules/verror/package.json +30 -5
  440. package/node_modules/wide-align/.npmignore +5 -0
  441. package/node_modules/wide-align/LICENSE +14 -0
  442. package/node_modules/wide-align/README.md +47 -0
  443. package/node_modules/wide-align/align.js +65 -0
  444. package/node_modules/wide-align/package.json +93 -0
  445. package/node_modules/wide-align/test/align.js +37 -0
  446. package/node_modules/wrappy/package.json +55 -16
  447. package/node_modules/xtend/package.json +45 -19
  448. package/package.json +3 -3
  449. package/node_modules/ansi/.jshintrc +0 -4
  450. package/node_modules/ansi/History.md +0 -23
  451. package/node_modules/ansi/LICENSE +0 -24
  452. package/node_modules/ansi/README.md +0 -98
  453. package/node_modules/ansi/examples/beep/index.js +0 -16
  454. package/node_modules/ansi/examples/clear/index.js +0 -15
  455. package/node_modules/ansi/examples/cursorPosition.js +0 -32
  456. package/node_modules/ansi/examples/progress/index.js +0 -87
  457. package/node_modules/ansi/lib/ansi.js +0 -405
  458. package/node_modules/ansi/lib/newlines.js +0 -71
  459. package/node_modules/ansi/package.json +0 -69
  460. package/node_modules/async/README.md +0 -1877
  461. package/node_modules/async/dist/async.js +0 -1265
  462. package/node_modules/async/dist/async.min.js +0 -2
  463. package/node_modules/async/lib/async.js +0 -1265
  464. package/node_modules/async/package.json +0 -131
  465. package/node_modules/aws4/node_modules/lru-cache/README.md +0 -142
  466. package/node_modules/aws4/node_modules/lru-cache/lib/lru-cache.js +0 -469
  467. package/node_modules/aws4/node_modules/lru-cache/node_modules/pseudomap/README.md +0 -60
  468. package/node_modules/aws4/node_modules/lru-cache/node_modules/pseudomap/map.js +0 -9
  469. package/node_modules/aws4/node_modules/lru-cache/node_modules/pseudomap/package.json +0 -60
  470. package/node_modules/aws4/node_modules/lru-cache/node_modules/pseudomap/pseudomap.js +0 -113
  471. package/node_modules/aws4/node_modules/lru-cache/node_modules/pseudomap/test/basic.js +0 -86
  472. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/.npmignore +0 -4
  473. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/.travis.yml +0 -7
  474. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/CONTRIBUTING.md +0 -4
  475. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/README.md +0 -204
  476. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/package.json +0 -60
  477. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/test/basic.js +0 -188
  478. package/node_modules/aws4/node_modules/lru-cache/node_modules/yallist/yallist.js +0 -360
  479. package/node_modules/aws4/node_modules/lru-cache/package.json +0 -78
  480. package/node_modules/bl/.jshintrc +0 -59
  481. package/node_modules/bl/.npmignore +0 -1
  482. package/node_modules/bl/.travis.yml +0 -13
  483. package/node_modules/bl/LICENSE.md +0 -13
  484. package/node_modules/bl/README.md +0 -200
  485. package/node_modules/bl/bl.js +0 -227
  486. package/node_modules/bl/package.json +0 -72
  487. package/node_modules/bl/test/test.js +0 -571
  488. package/node_modules/block-stream/bench/block-stream-pause.js +0 -70
  489. package/node_modules/block-stream/bench/block-stream.js +0 -68
  490. package/node_modules/block-stream/bench/dropper-pause.js +0 -70
  491. package/node_modules/block-stream/bench/dropper.js +0 -68
  492. package/node_modules/block-stream/test/basic.js +0 -27
  493. package/node_modules/block-stream/test/nopad-thorough.js +0 -68
  494. package/node_modules/block-stream/test/nopad.js +0 -57
  495. package/node_modules/block-stream/test/pause-resume.js +0 -73
  496. package/node_modules/block-stream/test/thorough.js +0 -68
  497. package/node_modules/block-stream/test/two-stream.js +0 -59
  498. package/node_modules/form-data/.dockerignore +0 -7
  499. package/node_modules/form-data/.editorconfig +0 -10
  500. package/node_modules/form-data/.eslintignore +0 -1
  501. package/node_modules/form-data/.eslintrc +0 -64
  502. package/node_modules/form-data/wercker.yml +0 -36
  503. package/node_modules/fstream-ignore/.npmignore +0 -1
  504. package/node_modules/fstream-ignore/example/basic.js +0 -13
  505. package/node_modules/fstream-ignore/node_modules/minimatch/minimatch.js +0 -912
  506. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/example.js +0 -8
  507. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -191
  508. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +0 -2
  509. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +0 -3
  510. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +0 -6
  511. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +0 -89
  512. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +0 -5
  513. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +0 -80
  514. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +0 -84
  515. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +0 -91
  516. package/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -86
  517. package/node_modules/fstream-ignore/node_modules/minimatch/package.json +0 -67
  518. package/node_modules/fstream-ignore/test/.ignore +0 -2
  519. package/node_modules/fstream-ignore/test/.npmignore +0 -1
  520. package/node_modules/fstream-ignore/test/00-setup.js +0 -71
  521. package/node_modules/fstream-ignore/test/basic.js +0 -28
  522. package/node_modules/fstream-ignore/test/common.js +0 -40
  523. package/node_modules/fstream-ignore/test/ignore-most.js +0 -41
  524. package/node_modules/fstream-ignore/test/nested-ignores.js +0 -51
  525. package/node_modules/fstream-ignore/test/read-file-order.js +0 -81
  526. package/node_modules/fstream-ignore/test/unignore-child.js +0 -38
  527. package/node_modules/fstream-ignore/test/zz-cleanup.js +0 -10
  528. package/node_modules/gauge/.npmignore +0 -32
  529. package/node_modules/gauge/example.png +0 -0
  530. package/node_modules/gauge/test/progress-bar.js +0 -176
  531. package/node_modules/has-unicode/.npmignore +0 -32
  532. package/node_modules/has-unicode/test/index.js +0 -26
  533. package/node_modules/inherits/test.js +0 -25
  534. package/node_modules/jsonpointer/.travis.yml +0 -10
  535. package/node_modules/jsonpointer/test.js +0 -98
  536. package/node_modules/lodash.pad/README.md +0 -18
  537. package/node_modules/lodash.pad/index.js +0 -296
  538. package/node_modules/lodash.pad/package.json +0 -91
  539. package/node_modules/lodash.padend/README.md +0 -18
  540. package/node_modules/lodash.padend/index.js +0 -285
  541. package/node_modules/lodash.padend/package.json +0 -91
  542. package/node_modules/lodash.padstart/README.md +0 -18
  543. package/node_modules/lodash.padstart/index.js +0 -285
  544. package/node_modules/lodash.padstart/package.json +0 -91
  545. package/node_modules/lodash.repeat/README.md +0 -18
  546. package/node_modules/lodash.repeat/index.js +0 -215
  547. package/node_modules/lodash.repeat/package.json +0 -92
  548. package/node_modules/lodash.tostring/LICENSE +0 -23
  549. package/node_modules/lodash.tostring/README.md +0 -18
  550. package/node_modules/lodash.tostring/index.js +0 -164
  551. package/node_modules/lodash.tostring/package.json +0 -91
  552. package/node_modules/node-pre-gyp/node_modules/nopt/.npmignore +0 -1
  553. package/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/.npmignore +0 -4
  554. package/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/.travis.yml +0 -5
  555. package/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md +0 -3
  556. package/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/package.json +0 -56
  557. package/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/test.js +0 -47
  558. package/node_modules/node-uuid/.npmignore +0 -4
  559. package/node_modules/node-uuid/README.md +0 -254
  560. package/node_modules/node-uuid/benchmark/README.md +0 -53
  561. package/node_modules/node-uuid/benchmark/bench.gnu +0 -174
  562. package/node_modules/node-uuid/benchmark/bench.sh +0 -34
  563. package/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
  564. package/node_modules/node-uuid/benchmark/benchmark.js +0 -84
  565. package/node_modules/node-uuid/bower.json +0 -23
  566. package/node_modules/node-uuid/component.json +0 -25
  567. package/node_modules/node-uuid/package.json +0 -87
  568. package/node_modules/node-uuid/test/compare_v1.js +0 -63
  569. package/node_modules/node-uuid/test/test.html +0 -17
  570. package/node_modules/node-uuid/test/test.js +0 -231
  571. package/node_modules/node-uuid/uuid.js +0 -272
  572. package/node_modules/npmlog/.nyc_output/64996.json +0 -1
  573. package/node_modules/npmlog/.nyc_output/64998.json +0 -1
  574. package/node_modules/npmlog/.nyc_output/65000.json +0 -1
  575. package/node_modules/npmlog/.travis.yml +0 -14
  576. package/node_modules/npmlog/example.js +0 -39
  577. package/node_modules/npmlog/test/basic.js +0 -235
  578. package/node_modules/npmlog/test/progress.js +0 -131
  579. package/node_modules/oauth-sign/test.js +0 -89
  580. package/node_modules/qs/.npmignore +0 -18
  581. package/node_modules/qs/.travis.yml +0 -69
  582. package/node_modules/qs/bower.json +0 -22
  583. package/node_modules/qs/component.json +0 -15
  584. package/node_modules/readable-stream/.zuul.yml +0 -1
  585. package/node_modules/readable-stream/doc/stream.markdown +0 -1760
  586. package/node_modules/request/.eslintrc +0 -45
  587. package/node_modules/request/.npmignore +0 -6
  588. package/node_modules/request/.travis.yml +0 -15
  589. package/node_modules/request/CONTRIBUTING.md +0 -44
  590. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/.eslintrc +0 -17
  591. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/inflight.js +0 -44
  592. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +0 -36
  593. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +0 -59
  594. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +0 -51
  595. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +0 -33
  596. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json +0 -68
  597. package/node_modules/rimraf/node_modules/glob/node_modules/inflight/test.js +0 -97
  598. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE +0 -16
  599. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md +0 -42
  600. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js +0 -1
  601. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js +0 -23
  602. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json +0 -59
  603. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js +0 -25
  604. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/README.md +0 -216
  605. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +0 -3
  606. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -122
  607. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +0 -8
  608. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +0 -2
  609. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +0 -3
  610. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md +0 -21
  611. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +0 -6
  612. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +0 -5
  613. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +0 -50
  614. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +0 -80
  615. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +0 -84
  616. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +0 -4
  617. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +0 -62
  618. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +0 -6
  619. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +0 -13
  620. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +0 -39
  621. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -86
  622. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json +0 -67
  623. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +0 -36
  624. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +0 -59
  625. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +0 -51
  626. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +0 -33
  627. package/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json +0 -79
  628. package/node_modules/rimraf/node_modules/glob/package.json +0 -85
  629. package/node_modules/semver/.npmignore +0 -4
  630. package/node_modules/semver/.travis.yml +0 -5
  631. package/node_modules/semver/test/big-numbers.js +0 -31
  632. package/node_modules/semver/test/clean.js +0 -29
  633. package/node_modules/semver/test/gtr.js +0 -173
  634. package/node_modules/semver/test/index.js +0 -698
  635. package/node_modules/semver/test/ltr.js +0 -181
  636. package/node_modules/semver/test/major-minor-patch.js +0 -72
  637. package/node_modules/tunnel-agent/.jshintrc +0 -5
  638. package/node_modules/tweetnacl/COPYING.txt +0 -9
  639. package/node_modules/wrappy/test/basic.js +0 -51
  640. package/test/fsevents.js +0 -27
  641. package/test/function.js +0 -93
@@ -2,10 +2,11 @@
2
2
 
3
3
  var test = require('tape');
4
4
  var qs = require('../');
5
+ var iconv = require('iconv-lite');
5
6
 
6
7
  test('parse()', function (t) {
7
8
  t.test('parses a simple string', function (st) {
8
- st.deepEqual(qs.parse('0=foo'), { '0': 'foo' });
9
+ st.deepEqual(qs.parse('0=foo'), { 0: 'foo' });
9
10
  st.deepEqual(qs.parse('foo=c++'), { foo: 'c ' });
10
11
  st.deepEqual(qs.parse('a[>=]=23'), { a: { '>=': '23' } });
11
12
  st.deepEqual(qs.parse('a[<=>]==23'), { a: { '<=>': '=23' } });
@@ -63,8 +64,15 @@ test('parse()', function (t) {
63
64
  st.deepEqual(qs.parse('a[]=b&a=c'), { a: ['b', 'c'] });
64
65
  st.deepEqual(qs.parse('a[0]=b&a=c'), { a: ['b', 'c'] });
65
66
  st.deepEqual(qs.parse('a=b&a[0]=c'), { a: ['b', 'c'] });
66
- st.deepEqual(qs.parse('a[1]=b&a=c'), { a: ['b', 'c'] });
67
- 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
+
68
76
  st.end();
69
77
  });
70
78
 
@@ -77,13 +85,15 @@ test('parse()', function (t) {
77
85
  t.test('allows to specify array indices', function (st) {
78
86
  st.deepEqual(qs.parse('a[1]=c&a[0]=b&a[2]=d'), { a: ['b', 'c', 'd'] });
79
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' } });
80
90
  st.deepEqual(qs.parse('a[1]=c'), { a: ['c'] });
81
91
  st.end();
82
92
  });
83
93
 
84
- t.test('limits specific array indices to 20', function (st) {
85
- st.deepEqual(qs.parse('a[20]=a'), { a: ['a'] });
86
- 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' } });
87
97
  st.end();
88
98
  });
89
99
 
@@ -114,14 +124,17 @@ test('parse()', function (t) {
114
124
  });
115
125
 
116
126
  t.test('transforms arrays to objects', function (st) {
117
- st.deepEqual(qs.parse('foo[0]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
118
- st.deepEqual(qs.parse('foo[bad]=baz&foo[0]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
119
- st.deepEqual(qs.parse('foo[bad]=baz&foo[]=bar'), { foo: { bad: 'baz', '0': 'bar' } });
120
- st.deepEqual(qs.parse('foo[]=bar&foo[bad]=baz'), { foo: { '0': 'bar', bad: 'baz' } });
121
- 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' } });
122
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' }] });
123
- st.deepEqual(qs.parse('a[]=b&a[t]=u&a[hasOwnProperty]=c'), { a: { '0': 'b', t: 'u', c: true } });
124
- 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' } });
125
138
  st.end();
126
139
  });
127
140
 
@@ -131,10 +144,10 @@ test('parse()', function (t) {
131
144
  st.deepEqual(qs.parse('foo[0][0].baz=bar&fool.bad=baz', { allowDots: true }), { foo: [[{ baz: 'bar' }]], fool: { bad: 'baz' } });
132
145
  st.deepEqual(qs.parse('foo[0].baz[0]=15&foo[0].bar=2', { allowDots: true }), { foo: [{ baz: ['15'], bar: '2' }] });
133
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' }] });
134
- st.deepEqual(qs.parse('foo.bad=baz&foo[0]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
135
- st.deepEqual(qs.parse('foo.bad=baz&foo[]=bar', { allowDots: true }), { foo: { bad: 'baz', '0': 'bar' } });
136
- st.deepEqual(qs.parse('foo[]=bar&foo.bad=baz', { allowDots: true }), { foo: { '0': 'bar', bad: 'baz' } });
137
- 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' } });
138
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' }] });
139
152
  st.end();
140
153
  });
@@ -142,7 +155,7 @@ test('parse()', function (t) {
142
155
  t.deepEqual(qs.parse('a[b]=c&a=d'), { a: { b: 'c', d: true } }, 'can add keys to objects');
143
156
 
144
157
  t.test('correctly prunes undefined values when converting an array to an object', function (st) {
145
- 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' } });
146
159
  st.end();
147
160
  });
148
161
 
@@ -154,7 +167,7 @@ test('parse()', function (t) {
154
167
  });
155
168
 
156
169
  t.test('doesn\'t produce empty keys', function (st) {
157
- st.deepEqual(qs.parse('_r=1&'), { '_r': '1' });
170
+ st.deepEqual(qs.parse('_r=1&'), { _r: '1' });
158
171
  st.end();
159
172
  });
160
173
 
@@ -173,14 +186,42 @@ test('parse()', function (t) {
173
186
 
174
187
  t.test('allows for empty strings in arrays', function (st) {
175
188
  st.deepEqual(qs.parse('a[]=b&a[]=&a[]=c'), { a: ['b', '', 'c'] });
176
- st.deepEqual(qs.parse('a[0]=b&a[1]&a[2]=c&a[19]=', { strictNullHandling: true }), { a: ['b', null, 'c', ''] });
177
- st.deepEqual(qs.parse('a[0]=b&a[1]=&a[2]=c&a[19]', { strictNullHandling: true }), { a: ['b', '', 'c', null] });
178
- 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
+ );
179
217
  st.end();
180
218
  });
181
219
 
182
220
  t.test('compacts sparse arrays', function (st) {
183
- st.deepEqual(qs.parse('a[10]=1&a[2]=2'), { a: ['2', '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'] }]]] });
184
225
  st.end();
185
226
  });
186
227
 
@@ -197,8 +238,8 @@ test('parse()', function (t) {
197
238
  });
198
239
 
199
240
  t.test('continues parsing when no parent is found', function (st) {
200
- st.deepEqual(qs.parse('[]=&a=b'), { '0': '', a: 'b' });
201
- 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' });
202
243
  st.deepEqual(qs.parse('[foo]=bar'), { foo: 'bar' });
203
244
  st.end();
204
245
  });
@@ -209,7 +250,9 @@ test('parse()', function (t) {
209
250
  str = str + '&' + str;
210
251
  }
211
252
 
212
- st.doesNotThrow(function () { qs.parse(str); });
253
+ st.doesNotThrow(function () {
254
+ qs.parse(str);
255
+ });
213
256
 
214
257
  st.end();
215
258
  });
@@ -252,14 +295,14 @@ test('parse()', function (t) {
252
295
  });
253
296
 
254
297
  t.test('allows overriding array limit', function (st) {
255
- 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' } });
256
299
  st.deepEqual(qs.parse('a[-1]=b', { arrayLimit: -1 }), { a: { '-1': 'b' } });
257
- 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' } });
258
301
  st.end();
259
302
  });
260
303
 
261
304
  t.test('allows disabling array parsing', function (st) {
262
- 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' } });
263
306
  st.end();
264
307
  });
265
308
 
@@ -303,13 +346,13 @@ test('parse()', function (t) {
303
346
 
304
347
  t.test('parses an object and not child values', function (st) {
305
348
  var input = {
306
- 'user[name]': { 'pop[bob]': { 'test': 3 } },
349
+ 'user[name]': { 'pop[bob]': { test: 3 } },
307
350
  'user[email]': null
308
351
  };
309
352
 
310
353
  var expected = {
311
354
  user: {
312
- name: { 'pop[bob]': { 'test': 3 } },
355
+ name: { 'pop[bob]': { test: 3 } },
313
356
  email: null
314
357
  }
315
358
  };
@@ -347,7 +390,7 @@ test('parse()', function (t) {
347
390
  st.end();
348
391
  });
349
392
 
350
- t.test('parses plain objects correctly', function (st) {
393
+ t.test('parses null objects correctly', { skip: !Object.create }, function (st) {
351
394
  var a = Object.create(null);
352
395
  a.b = 'c';
353
396
 
@@ -376,7 +419,7 @@ test('parse()', function (t) {
376
419
  st.end();
377
420
  });
378
421
 
379
- t.test('can return plain objects', function (st) {
422
+ t.test('can return null objects', { skip: !Object.create }, function (st) {
380
423
  var expected = Object.create(null);
381
424
  expected.a = Object.create(null);
382
425
  expected.a.b = 'c';
@@ -385,9 +428,32 @@ test('parse()', function (t) {
385
428
  st.deepEqual(qs.parse(null, { plainObjects: true }), Object.create(null));
386
429
  var expectedArray = Object.create(null);
387
430
  expectedArray.a = Object.create(null);
388
- expectedArray.a['0'] = 'b';
431
+ expectedArray.a[0] = 'b';
389
432
  expectedArray.a.c = 'd';
390
433
  st.deepEqual(qs.parse('a[]=b&a[c]=d', { plainObjects: true }), expectedArray);
391
434
  st.end();
392
435
  });
436
+
437
+ t.test('can parse with custom encoding', function (st) {
438
+ st.deepEqual(qs.parse('%8c%a7=%91%e5%8d%e3%95%7b', {
439
+ decoder: function (str) {
440
+ var reg = /%([0-9A-F]{2})/ig;
441
+ var result = [];
442
+ var parts = reg.exec(str);
443
+ while (parts) {
444
+ result.push(parseInt(parts[1], 16));
445
+ parts = reg.exec(str);
446
+ }
447
+ return iconv.decode(new Buffer(result), 'shift_jis').toString();
448
+ }
449
+ }), { 県: '大阪府' });
450
+ st.end();
451
+ });
452
+
453
+ t.test('throws error with wrong decoder', function (st) {
454
+ st.throws(function () {
455
+ qs.parse({}, { decoder: 'string' });
456
+ }, new TypeError('Decoder has to be a function.'));
457
+ st.end();
458
+ });
393
459
  });
@@ -2,6 +2,7 @@
2
2
 
3
3
  var test = require('tape');
4
4
  var qs = require('../');
5
+ var iconv = require('iconv-lite');
5
6
 
6
7
  test('stringify()', function (t) {
7
8
  t.test('stringifies a querystring object', function (st) {
@@ -22,8 +23,28 @@ test('stringify()', function (t) {
22
23
  st.end();
23
24
  });
24
25
 
26
+ t.test('stringifies a nested object with dots notation', function (st) {
27
+ st.equal(qs.stringify({ a: { b: 'c' } }, { allowDots: true }), 'a.b=c');
28
+ st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }, { allowDots: true }), 'a.b.c.d=e');
29
+ st.end();
30
+ });
31
+
25
32
  t.test('stringifies an array value', function (st) {
26
- st.equal(qs.stringify({ a: ['b', 'c', 'd'] }), 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d');
33
+ st.equal(
34
+ qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'indices' }),
35
+ 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d',
36
+ 'indices => indices'
37
+ );
38
+ st.equal(
39
+ qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'brackets' }),
40
+ 'a%5B%5D=b&a%5B%5D=c&a%5B%5D=d',
41
+ 'brackets => brackets'
42
+ );
43
+ st.equal(
44
+ qs.stringify({ a: ['b', 'c', 'd'] }),
45
+ 'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d',
46
+ 'default => indices'
47
+ );
27
48
  st.end();
28
49
  });
29
50
 
@@ -32,7 +53,6 @@ test('stringify()', function (t) {
32
53
  st.end();
33
54
  });
34
55
 
35
-
36
56
  t.test('omits nested nulls when asked', function (st) {
37
57
  st.equal(qs.stringify({ a: { b: 'c', d: null } }, { skipNulls: true }), 'a%5Bb%5D=c');
38
58
  st.end();
@@ -44,13 +64,149 @@ test('stringify()', function (t) {
44
64
  });
45
65
 
46
66
  t.test('stringifies a nested array value', function (st) {
67
+ st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'indices' }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
68
+ st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'brackets' }), 'a%5Bb%5D%5B%5D=c&a%5Bb%5D%5B%5D=d');
47
69
  st.equal(qs.stringify({ a: { b: ['c', 'd'] } }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
48
70
  st.end();
49
71
  });
50
72
 
73
+ t.test('stringifies a nested array value with dots notation', function (st) {
74
+ st.equal(
75
+ qs.stringify(
76
+ { a: { b: ['c', 'd'] } },
77
+ { allowDots: true, encode: false, arrayFormat: 'indices' }
78
+ ),
79
+ 'a.b[0]=c&a.b[1]=d',
80
+ 'indices: stringifies with dots + indices'
81
+ );
82
+ st.equal(
83
+ qs.stringify(
84
+ { a: { b: ['c', 'd'] } },
85
+ { allowDots: true, encode: false, arrayFormat: 'brackets' }
86
+ ),
87
+ 'a.b[]=c&a.b[]=d',
88
+ 'brackets: stringifies with dots + brackets'
89
+ );
90
+ st.equal(
91
+ qs.stringify(
92
+ { a: { b: ['c', 'd'] } },
93
+ { allowDots: true, encode: false }
94
+ ),
95
+ 'a.b[0]=c&a.b[1]=d',
96
+ 'default: stringifies with dots + indices'
97
+ );
98
+ st.end();
99
+ });
100
+
51
101
  t.test('stringifies an object inside an array', function (st) {
52
- st.equal(qs.stringify({ a: [{ b: 'c' }] }), 'a%5B0%5D%5Bb%5D=c');
53
- st.equal(qs.stringify({ a: [{ b: { c: [1] } }] }), 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1');
102
+ st.equal(
103
+ qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'indices' }),
104
+ 'a%5B0%5D%5Bb%5D=c',
105
+ 'indices => brackets'
106
+ );
107
+ st.equal(
108
+ qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'brackets' }),
109
+ 'a%5B%5D%5Bb%5D=c',
110
+ 'brackets => brackets'
111
+ );
112
+ st.equal(
113
+ qs.stringify({ a: [{ b: 'c' }] }),
114
+ 'a%5B0%5D%5Bb%5D=c',
115
+ 'default => indices'
116
+ );
117
+
118
+ st.equal(
119
+ qs.stringify({ a: [{ b: { c: [1] } }] }, { arrayFormat: 'indices' }),
120
+ 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1',
121
+ 'indices => indices'
122
+ );
123
+
124
+ st.equal(
125
+ qs.stringify({ a: [{ b: { c: [1] } }] }, { arrayFormat: 'brackets' }),
126
+ 'a%5B%5D%5Bb%5D%5Bc%5D%5B%5D=1',
127
+ 'brackets => brackets'
128
+ );
129
+
130
+ st.equal(
131
+ qs.stringify({ a: [{ b: { c: [1] } }] }),
132
+ 'a%5B0%5D%5Bb%5D%5Bc%5D%5B0%5D=1',
133
+ 'default => indices'
134
+ );
135
+
136
+ st.end();
137
+ });
138
+
139
+ t.test('stringifies an array with mixed objects and primitives', function (st) {
140
+ st.equal(
141
+ qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'indices' }),
142
+ 'a[0][b]=1&a[1]=2&a[2]=3',
143
+ 'indices => indices'
144
+ );
145
+ st.equal(
146
+ qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'brackets' }),
147
+ 'a[][b]=1&a[]=2&a[]=3',
148
+ 'brackets => brackets'
149
+ );
150
+ st.equal(
151
+ qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false }),
152
+ 'a[0][b]=1&a[1]=2&a[2]=3',
153
+ 'default => indices'
154
+ );
155
+
156
+ st.end();
157
+ });
158
+
159
+ t.test('stringifies an object inside an array with dots notation', function (st) {
160
+ st.equal(
161
+ qs.stringify(
162
+ { a: [{ b: 'c' }] },
163
+ { allowDots: true, encode: false, arrayFormat: 'indices' }
164
+ ),
165
+ 'a[0].b=c',
166
+ 'indices => indices'
167
+ );
168
+ st.equal(
169
+ qs.stringify(
170
+ { a: [{ b: 'c' }] },
171
+ { allowDots: true, encode: false, arrayFormat: 'brackets' }
172
+ ),
173
+ 'a[].b=c',
174
+ 'brackets => brackets'
175
+ );
176
+ st.equal(
177
+ qs.stringify(
178
+ { a: [{ b: 'c' }] },
179
+ { allowDots: true, encode: false }
180
+ ),
181
+ 'a[0].b=c',
182
+ 'default => indices'
183
+ );
184
+
185
+ st.equal(
186
+ qs.stringify(
187
+ { a: [{ b: { c: [1] } }] },
188
+ { allowDots: true, encode: false, arrayFormat: 'indices' }
189
+ ),
190
+ 'a[0].b.c[0]=1',
191
+ 'indices => indices'
192
+ );
193
+ st.equal(
194
+ qs.stringify(
195
+ { a: [{ b: { c: [1] } }] },
196
+ { allowDots: true, encode: false, arrayFormat: 'brackets' }
197
+ ),
198
+ 'a[].b.c[]=1',
199
+ 'brackets => brackets'
200
+ );
201
+ st.equal(
202
+ qs.stringify(
203
+ { a: [{ b: { c: [1] } }] },
204
+ { allowDots: true, encode: false }
205
+ ),
206
+ 'a[0].b.c[0]=1',
207
+ 'default => indices'
208
+ );
209
+
54
210
  st.end();
55
211
  });
56
212
 
@@ -103,7 +259,7 @@ test('stringify()', function (t) {
103
259
  st.end();
104
260
  });
105
261
 
106
- t.test('stringifies an empty object', function (st) {
262
+ t.test('stringifies a null object', { skip: !Object.create }, function (st) {
107
263
  var obj = Object.create(null);
108
264
  obj.a = 'b';
109
265
  st.equal(qs.stringify(obj), 'a=b');
@@ -118,10 +274,8 @@ test('stringify()', function (t) {
118
274
  st.end();
119
275
  });
120
276
 
121
- t.test('stringifies an object with an empty object as a child', function (st) {
122
- var obj = {
123
- a: Object.create(null)
124
- };
277
+ t.test('stringifies an object with a null object as a child', { skip: !Object.create }, function (st) {
278
+ var obj = { a: Object.create(null) };
125
279
 
126
280
  obj.a.b = 'c';
127
281
  st.equal(qs.stringify(obj), 'a%5Bb%5D=c');
@@ -193,7 +347,32 @@ test('stringify()', function (t) {
193
347
  t.test('selects properties when filter=array', function (st) {
194
348
  st.equal(qs.stringify({ a: 'b' }, { filter: ['a'] }), 'a=b');
195
349
  st.equal(qs.stringify({ a: 1 }, { filter: [] }), '');
196
- st.equal(qs.stringify({ a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' }, { filter: ['a', 'b', 0, 2] }), 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3');
350
+
351
+ st.equal(
352
+ qs.stringify(
353
+ { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' },
354
+ { filter: ['a', 'b', 0, 2], arrayFormat: 'indices' }
355
+ ),
356
+ 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3',
357
+ 'indices => indices'
358
+ );
359
+ st.equal(
360
+ qs.stringify(
361
+ { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' },
362
+ { filter: ['a', 'b', 0, 2], arrayFormat: 'brackets' }
363
+ ),
364
+ 'a%5Bb%5D%5B%5D=1&a%5Bb%5D%5B%5D=3',
365
+ 'brackets => brackets'
366
+ );
367
+ st.equal(
368
+ qs.stringify(
369
+ { a: { b: [1, 2, 3, 4], c: 'd' }, c: 'f' },
370
+ { filter: ['a', 'b', 0, 2] }
371
+ ),
372
+ 'a%5Bb%5D%5B0%5D=1&a%5Bb%5D%5B2%5D=3',
373
+ 'default => indices'
374
+ );
375
+
197
376
  st.end();
198
377
  });
199
378
 
@@ -201,7 +380,7 @@ test('stringify()', function (t) {
201
380
  var calls = 0;
202
381
  var obj = { a: 'b', c: 'd', e: { f: new Date(1257894000000) } };
203
382
  var filterFunc = function (prefix, value) {
204
- calls++;
383
+ calls += 1;
205
384
  if (calls === 1) {
206
385
  st.equal(prefix, '', 'prefix is empty');
207
386
  st.equal(value, obj);
@@ -227,9 +406,133 @@ test('stringify()', function (t) {
227
406
  });
228
407
 
229
408
  t.test('can sort the keys', function (st) {
230
- var sort = function (a, b) { return a.localeCompare(b); };
409
+ var sort = function (a, b) {
410
+ return a.localeCompare(b);
411
+ };
231
412
  st.equal(qs.stringify({ a: 'c', z: 'y', b: 'f' }, { sort: sort }), 'a=c&b=f&z=y');
232
413
  st.equal(qs.stringify({ a: 'c', z: { j: 'a', i: 'b' }, b: 'f' }, { sort: sort }), 'a=c&b=f&z%5Bi%5D=b&z%5Bj%5D=a');
233
414
  st.end();
234
415
  });
416
+
417
+ t.test('can sort the keys at depth 3 or more too', function (st) {
418
+ var sort = function (a, b) {
419
+ return a.localeCompare(b);
420
+ };
421
+ st.equal(
422
+ qs.stringify(
423
+ { a: 'a', z: { zj: { zjb: 'zjb', zja: 'zja' }, zi: { zib: 'zib', zia: 'zia' } }, b: 'b' },
424
+ { sort: sort, encode: false }
425
+ ),
426
+ 'a=a&b=b&z[zi][zia]=zia&z[zi][zib]=zib&z[zj][zja]=zja&z[zj][zjb]=zjb'
427
+ );
428
+ st.equal(
429
+ qs.stringify(
430
+ { a: 'a', z: { zj: { zjb: 'zjb', zja: 'zja' }, zi: { zib: 'zib', zia: 'zia' } }, b: 'b' },
431
+ { sort: null, encode: false }
432
+ ),
433
+ 'a=a&z[zj][zjb]=zjb&z[zj][zja]=zja&z[zi][zib]=zib&z[zi][zia]=zia&b=b'
434
+ );
435
+ st.end();
436
+ });
437
+
438
+ t.test('can stringify with custom encoding', function (st) {
439
+ st.equal(qs.stringify({ 県: '大阪府', '': '' }, {
440
+ encoder: function (str) {
441
+ if (str.length === 0) {
442
+ return '';
443
+ }
444
+ var buf = iconv.encode(str, 'shiftjis');
445
+ var result = [];
446
+ for (var i = 0; i < buf.length; ++i) {
447
+ result.push(buf.readUInt8(i).toString(16));
448
+ }
449
+ return '%' + result.join('%');
450
+ }
451
+ }), '%8c%a7=%91%e5%8d%e3%95%7b&=');
452
+ st.end();
453
+ });
454
+
455
+ t.test('throws error with wrong encoder', function (st) {
456
+ st.throws(function () {
457
+ qs.stringify({}, { encoder: 'string' });
458
+ }, new TypeError('Encoder has to be a function.'));
459
+ st.end();
460
+ });
461
+
462
+ t.test('can use custom encoder for a buffer object', { skip: typeof Buffer === 'undefined' }, function (st) {
463
+ st.equal(qs.stringify({ a: new Buffer([1]) }, {
464
+ encoder: function (buffer) {
465
+ if (typeof buffer === 'string') {
466
+ return buffer;
467
+ }
468
+ return String.fromCharCode(buffer.readUInt8(0) + 97);
469
+ }
470
+ }), 'a=b');
471
+ st.end();
472
+ });
473
+
474
+ t.test('serializeDate option', function (st) {
475
+ var date = new Date();
476
+ st.equal(
477
+ qs.stringify({ a: date }),
478
+ 'a=' + date.toISOString().replace(/:/g, '%3A'),
479
+ 'default is toISOString'
480
+ );
481
+
482
+ var mutatedDate = new Date();
483
+ mutatedDate.toISOString = function () {
484
+ throw new SyntaxError();
485
+ };
486
+ st.throws(function () {
487
+ mutatedDate.toISOString();
488
+ }, SyntaxError);
489
+ st.equal(
490
+ qs.stringify({ a: mutatedDate }),
491
+ 'a=' + Date.prototype.toISOString.call(mutatedDate).replace(/:/g, '%3A'),
492
+ 'toISOString works even when method is not locally present'
493
+ );
494
+
495
+ var specificDate = new Date(6);
496
+ st.equal(
497
+ qs.stringify(
498
+ { a: specificDate },
499
+ { serializeDate: function (d) { return d.getTime() * 7; } }
500
+ ),
501
+ 'a=42',
502
+ 'custom serializeDate function called'
503
+ );
504
+
505
+ st.end();
506
+ });
507
+
508
+ t.test('RFC 1738 spaces serialization', function (st) {
509
+ st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC1738 }), 'a=b+c');
510
+ st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC1738 }), 'a+b=c+d');
511
+ st.end();
512
+ });
513
+
514
+ t.test('RFC 3986 spaces serialization', function (st) {
515
+ st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC3986 }), 'a=b%20c');
516
+ st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC3986 }), 'a%20b=c%20d');
517
+ st.end();
518
+ });
519
+
520
+ t.test('Backward compatibility to RFC 3986', function (st) {
521
+ st.equal(qs.stringify({ a: 'b c' }), 'a=b%20c');
522
+ st.end();
523
+ });
524
+
525
+ t.test('Edge cases and unknown formats', function (st) {
526
+ ['UFO1234', false, 1234, null, {}, []].forEach(
527
+ function (format) {
528
+ st.throws(
529
+ function () {
530
+ qs.stringify({ a: 'b c' }, { format: format });
531
+ },
532
+ new TypeError('Unknown format option provided.')
533
+ );
534
+ }
535
+ );
536
+ st.end();
537
+ });
235
538
  });
@@ -5,5 +5,18 @@ var utils = require('../lib/utils');
5
5
 
6
6
  test('merge()', function (t) {
7
7
  t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key');
8
+
9
+ var oneMerged = utils.merge({ foo: 'bar' }, { foo: { first: '123' } });
10
+ t.deepEqual(oneMerged, { foo: ['bar', { first: '123' }] }, 'merges a standalone and an object into an array');
11
+
12
+ var twoMerged = utils.merge({ foo: ['bar', { first: '123' }] }, { foo: { second: '456' } });
13
+ t.deepEqual(twoMerged, { foo: { 0: 'bar', 1: { first: '123' }, second: '456' } }, 'merges a standalone and two objects into an array');
14
+
15
+ var sandwiched = utils.merge({ foo: ['bar', { first: '123', second: '456' }] }, { foo: 'baz' });
16
+ t.deepEqual(sandwiched, { foo: ['bar', { first: '123', second: '456' }, 'baz'] }, 'merges an object sandwiched by two standalones into an array');
17
+
18
+ var nestedArrays = utils.merge({ foo: ['baz'] }, { foo: ['bar', 'xyzzy'] });
19
+ t.deepEqual(nestedArrays, { foo: ['baz', 'bar', 'xyzzy'] });
20
+
8
21
  t.end();
9
22
  });