ai 1.0.0 → 2.0.0

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.
Files changed (340) hide show
  1. package/LICENSE +10 -24
  2. package/dist/ai-stream.d.ts +18 -0
  3. package/dist/ai-stream.js +132 -0
  4. package/dist/ai-stream.mjs +13 -0
  5. package/dist/anthropic-stream.d.ts +5 -0
  6. package/dist/anthropic-stream.js +133 -0
  7. package/dist/anthropic-stream.mjs +8 -0
  8. package/dist/chunk-265FSSO4.mjs +91 -0
  9. package/dist/chunk-2L3ZO4UM.mjs +45 -0
  10. package/dist/chunk-EZJ7FC5E.mjs +33 -0
  11. package/dist/chunk-JGDC3BXD.mjs +22 -0
  12. package/dist/chunk-NK2CVBLI.mjs +38 -0
  13. package/dist/chunk-PEYAHBDF.mjs +43 -0
  14. package/dist/chunk-TJMME6CL.mjs +24 -0
  15. package/dist/huggingface-stream.d.ts +5 -0
  16. package/dist/huggingface-stream.js +121 -0
  17. package/dist/huggingface-stream.mjs +8 -0
  18. package/dist/index.d.ts +131 -0
  19. package/dist/index.js +278 -0
  20. package/dist/index.mjs +35 -0
  21. package/dist/index.test.d.ts +2 -0
  22. package/dist/index.test.js +12 -0
  23. package/dist/index.test.mjs +10 -0
  24. package/dist/langchain-stream.d.ts +12 -0
  25. package/dist/langchain-stream.js +102 -0
  26. package/dist/langchain-stream.mjs +8 -0
  27. package/dist/openai-stream.d.ts +5 -0
  28. package/dist/openai-stream.js +144 -0
  29. package/dist/openai-stream.mjs +8 -0
  30. package/dist/streaming-text-response.d.ts +17 -0
  31. package/dist/streaming-text-response.js +75 -0
  32. package/dist/streaming-text-response.mjs +9 -0
  33. package/package.json +78 -29
  34. package/react/dist/chunk-5PP6W52J.mjs +202 -0
  35. package/react/dist/chunk-6EH3SWMP.mjs +55 -0
  36. package/react/dist/chunk-PW6HSU2N.mjs +154 -0
  37. package/react/dist/index.d.ts +3 -0
  38. package/react/dist/index.js +424 -0
  39. package/react/dist/index.mjs +12 -0
  40. package/react/dist/types-f862f74a.d.ts +123 -0
  41. package/react/dist/use-chat.d.ts +42 -0
  42. package/react/dist/use-chat.js +276 -0
  43. package/react/dist/use-chat.mjs +8 -0
  44. package/react/dist/use-completion.d.ts +47 -0
  45. package/react/dist/use-completion.js +229 -0
  46. package/react/dist/use-completion.mjs +8 -0
  47. package/svelte/dist/chunk-6USBQIV6.mjs +177 -0
  48. package/svelte/dist/chunk-BQ64GHZ3.mjs +136 -0
  49. package/svelte/dist/chunk-CENOSGDG.mjs +493 -0
  50. package/svelte/dist/index.d.ts +4 -0
  51. package/svelte/dist/index.js +808 -0
  52. package/svelte/dist/index.mjs +11 -0
  53. package/svelte/dist/types-f862f74a.d.ts +123 -0
  54. package/svelte/dist/use-chat.d.ts +39 -0
  55. package/svelte/dist/use-chat.js +680 -0
  56. package/svelte/dist/use-chat.mjs +7 -0
  57. package/svelte/dist/use-completion.d.ts +38 -0
  58. package/svelte/dist/use-completion.js +640 -0
  59. package/svelte/dist/use-completion.mjs +7 -0
  60. package/.npmignore +0 -15
  61. package/.travis.yml +0 -4
  62. package/README.md +0 -21
  63. package/bin/ai.js +0 -22
  64. package/index.js +0 -32
  65. package/node_modules/request/.npmignore +0 -2
  66. package/node_modules/request/.travis.yml +0 -12
  67. package/node_modules/request/CHANGELOG.md +0 -954
  68. package/node_modules/request/LICENSE +0 -55
  69. package/node_modules/request/README.md +0 -421
  70. package/node_modules/request/index.js +0 -166
  71. package/node_modules/request/lib/cookies.js +0 -40
  72. package/node_modules/request/lib/copy.js +0 -8
  73. package/node_modules/request/lib/debug.js +0 -7
  74. package/node_modules/request/lib/getSafe.js +0 -34
  75. package/node_modules/request/lib/optional.js +0 -5
  76. package/node_modules/request/node_modules/aws-sign2/LICENSE +0 -55
  77. package/node_modules/request/node_modules/aws-sign2/README.md +0 -4
  78. package/node_modules/request/node_modules/aws-sign2/index.js +0 -202
  79. package/node_modules/request/node_modules/aws-sign2/package.json +0 -47
  80. package/node_modules/request/node_modules/forever-agent/LICENSE +0 -55
  81. package/node_modules/request/node_modules/forever-agent/README.md +0 -4
  82. package/node_modules/request/node_modules/forever-agent/index.js +0 -119
  83. package/node_modules/request/node_modules/forever-agent/package.json +0 -46
  84. package/node_modules/request/node_modules/form-data/License +0 -19
  85. package/node_modules/request/node_modules/form-data/Readme.md +0 -175
  86. package/node_modules/request/node_modules/form-data/lib/form_data.js +0 -351
  87. package/node_modules/request/node_modules/form-data/node_modules/async/.travis.yml +0 -3
  88. package/node_modules/request/node_modules/form-data/node_modules/async/LICENSE +0 -19
  89. package/node_modules/request/node_modules/form-data/node_modules/async/README.md +0 -1646
  90. package/node_modules/request/node_modules/form-data/node_modules/async/component.json +0 -11
  91. package/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js +0 -1123
  92. package/node_modules/request/node_modules/form-data/node_modules/async/package.json +0 -60
  93. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/License +0 -19
  94. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md +0 -132
  95. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js +0 -186
  96. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore +0 -2
  97. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License +0 -19
  98. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile +0 -7
  99. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md +0 -154
  100. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js +0 -99
  101. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json +0 -42
  102. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js +0 -6
  103. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js +0 -38
  104. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js +0 -21
  105. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js +0 -14
  106. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js +0 -48
  107. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js +0 -15
  108. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js +0 -18
  109. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js +0 -13
  110. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js +0 -13
  111. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js +0 -7
  112. package/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json +0 -61
  113. package/node_modules/request/node_modules/form-data/node_modules/mime/LICENSE +0 -19
  114. package/node_modules/request/node_modules/form-data/node_modules/mime/README.md +0 -66
  115. package/node_modules/request/node_modules/form-data/node_modules/mime/mime.js +0 -114
  116. package/node_modules/request/node_modules/form-data/node_modules/mime/package.json +0 -59
  117. package/node_modules/request/node_modules/form-data/node_modules/mime/test.js +0 -84
  118. package/node_modules/request/node_modules/form-data/node_modules/mime/types/mime.types +0 -1588
  119. package/node_modules/request/node_modules/form-data/node_modules/mime/types/node.types +0 -77
  120. package/node_modules/request/node_modules/form-data/package.json +0 -80
  121. package/node_modules/request/node_modules/hawk/.npmignore +0 -18
  122. package/node_modules/request/node_modules/hawk/.travis.yml +0 -5
  123. package/node_modules/request/node_modules/hawk/LICENSE +0 -24
  124. package/node_modules/request/node_modules/hawk/Makefile +0 -10
  125. package/node_modules/request/node_modules/hawk/README.md +0 -625
  126. package/node_modules/request/node_modules/hawk/example/usage.js +0 -78
  127. package/node_modules/request/node_modules/hawk/images/hawk.png +0 -0
  128. package/node_modules/request/node_modules/hawk/images/logo.png +0 -0
  129. package/node_modules/request/node_modules/hawk/index.js +0 -1
  130. package/node_modules/request/node_modules/hawk/lib/browser.js +0 -507
  131. package/node_modules/request/node_modules/hawk/lib/client.js +0 -371
  132. package/node_modules/request/node_modules/hawk/lib/crypto.js +0 -118
  133. package/node_modules/request/node_modules/hawk/lib/index.js +0 -15
  134. package/node_modules/request/node_modules/hawk/lib/server.js +0 -523
  135. package/node_modules/request/node_modules/hawk/lib/utils.js +0 -183
  136. package/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore +0 -18
  137. package/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml +0 -5
  138. package/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE +0 -24
  139. package/node_modules/request/node_modules/hawk/node_modules/boom/Makefile +0 -11
  140. package/node_modules/request/node_modules/hawk/node_modules/boom/README.md +0 -6
  141. package/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png +0 -0
  142. package/node_modules/request/node_modules/hawk/node_modules/boom/index.js +0 -1
  143. package/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js +0 -207
  144. package/node_modules/request/node_modules/hawk/node_modules/boom/package.json +0 -64
  145. package/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js +0 -245
  146. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore +0 -18
  147. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml +0 -5
  148. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE +0 -24
  149. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/Makefile +0 -11
  150. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md +0 -6
  151. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js +0 -1
  152. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js +0 -68
  153. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json +0 -65
  154. package/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js +0 -101
  155. package/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore +0 -18
  156. package/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml +0 -5
  157. package/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE +0 -33
  158. package/node_modules/request/node_modules/hawk/node_modules/hoek/Makefile +0 -10
  159. package/node_modules/request/node_modules/hawk/node_modules/hoek/README.md +0 -436
  160. package/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png +0 -0
  161. package/node_modules/request/node_modules/hawk/node_modules/hoek/index.js +0 -1
  162. package/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js +0 -132
  163. package/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js +0 -585
  164. package/node_modules/request/node_modules/hawk/node_modules/hoek/package.json +0 -70
  165. package/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js +0 -86
  166. package/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js +0 -1078
  167. package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js +0 -1
  168. package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js +0 -1
  169. package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js +0 -1
  170. package/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore +0 -18
  171. package/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml +0 -5
  172. package/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE +0 -24
  173. package/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile +0 -11
  174. package/node_modules/request/node_modules/hawk/node_modules/sntp/README.md +0 -68
  175. package/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js +0 -16
  176. package/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js +0 -25
  177. package/node_modules/request/node_modules/hawk/node_modules/sntp/index.js +0 -1
  178. package/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js +0 -409
  179. package/node_modules/request/node_modules/hawk/node_modules/sntp/package.json +0 -65
  180. package/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js +0 -359
  181. package/node_modules/request/node_modules/hawk/package.json +0 -70
  182. package/node_modules/request/node_modules/hawk/test/browser.js +0 -817
  183. package/node_modules/request/node_modules/hawk/test/client.js +0 -206
  184. package/node_modules/request/node_modules/hawk/test/crypto.js +0 -86
  185. package/node_modules/request/node_modules/hawk/test/index.js +0 -316
  186. package/node_modules/request/node_modules/hawk/test/message.js +0 -246
  187. package/node_modules/request/node_modules/hawk/test/readme.js +0 -98
  188. package/node_modules/request/node_modules/hawk/test/server.js +0 -686
  189. package/node_modules/request/node_modules/hawk/test/uri.js +0 -456
  190. package/node_modules/request/node_modules/hawk/test/utils.js +0 -120
  191. package/node_modules/request/node_modules/http-signature/.dir-locals.el +0 -6
  192. package/node_modules/request/node_modules/http-signature/.npmignore +0 -7
  193. package/node_modules/request/node_modules/http-signature/LICENSE +0 -18
  194. package/node_modules/request/node_modules/http-signature/README.md +0 -75
  195. package/node_modules/request/node_modules/http-signature/http_signing.md +0 -296
  196. package/node_modules/request/node_modules/http-signature/lib/index.js +0 -25
  197. package/node_modules/request/node_modules/http-signature/lib/parser.js +0 -304
  198. package/node_modules/request/node_modules/http-signature/lib/signer.js +0 -179
  199. package/node_modules/request/node_modules/http-signature/lib/util.js +0 -249
  200. package/node_modules/request/node_modules/http-signature/lib/verify.js +0 -42
  201. package/node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore +0 -2
  202. package/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE +0 -19
  203. package/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md +0 -50
  204. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js +0 -13
  205. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js +0 -27
  206. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js +0 -267
  207. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js +0 -36
  208. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js +0 -317
  209. package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js +0 -20
  210. package/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json +0 -63
  211. package/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js +0 -172
  212. package/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js +0 -296
  213. package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md +0 -126
  214. package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js +0 -196
  215. package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json +0 -38
  216. package/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG +0 -71
  217. package/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE +0 -24
  218. package/node_modules/request/node_modules/http-signature/node_modules/ctype/README +0 -82
  219. package/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old +0 -298
  220. package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js +0 -245
  221. package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js +0 -1485
  222. package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js +0 -944
  223. package/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype +0 -241
  224. package/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json +0 -36
  225. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf +0 -129
  226. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle +0 -839
  227. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/float.json +0 -13
  228. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/int.json +0 -13
  229. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/psinfo.json +0 -104
  230. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/struct.json +0 -19
  231. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.fail.js +0 -39
  232. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.float.js +0 -14
  233. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.int.js +0 -14
  234. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.psinfo.js +0 -17
  235. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.struct.js +0 -18
  236. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.typedef.js +0 -15
  237. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/typedef.json +0 -14
  238. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.rfloat.js +0 -767
  239. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.wfloat.js +0 -753
  240. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.64.js +0 -638
  241. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.rint.js +0 -101
  242. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wbounds.js +0 -53
  243. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wint.js +0 -92
  244. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.64.js +0 -451
  245. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.roundtrip.js +0 -81
  246. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.ruint.js +0 -95
  247. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.wuint.js +0 -156
  248. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicr.js +0 -50
  249. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicw.js +0 -44
  250. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.char.js +0 -42
  251. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.endian.js +0 -45
  252. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.oldwrite.js +0 -28
  253. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.readSize.js +0 -128
  254. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.structw.js +0 -28
  255. package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.writeStruct.js +0 -31
  256. package/node_modules/request/node_modules/http-signature/package.json +0 -54
  257. package/node_modules/request/node_modules/json-stringify-safe/LICENSE +0 -27
  258. package/node_modules/request/node_modules/json-stringify-safe/README.md +0 -49
  259. package/node_modules/request/node_modules/json-stringify-safe/package.json +0 -51
  260. package/node_modules/request/node_modules/json-stringify-safe/stringify.js +0 -39
  261. package/node_modules/request/node_modules/json-stringify-safe/test.js +0 -128
  262. package/node_modules/request/node_modules/mime-types/.npmignore +0 -14
  263. package/node_modules/request/node_modules/mime-types/.travis.yml +0 -12
  264. package/node_modules/request/node_modules/mime-types/LICENSE +0 -22
  265. package/node_modules/request/node_modules/mime-types/Makefile +0 -9
  266. package/node_modules/request/node_modules/mime-types/README.md +0 -101
  267. package/node_modules/request/node_modules/mime-types/SOURCES.md +0 -17
  268. package/node_modules/request/node_modules/mime-types/component.json +0 -16
  269. package/node_modules/request/node_modules/mime-types/lib/custom.json +0 -27
  270. package/node_modules/request/node_modules/mime-types/lib/index.js +0 -75
  271. package/node_modules/request/node_modules/mime-types/lib/mime.json +0 -3317
  272. package/node_modules/request/node_modules/mime-types/lib/node.json +0 -55
  273. package/node_modules/request/node_modules/mime-types/package.json +0 -69
  274. package/node_modules/request/node_modules/node-uuid/.npmignore +0 -2
  275. package/node_modules/request/node_modules/node-uuid/LICENSE.md +0 -2
  276. package/node_modules/request/node_modules/node-uuid/README.md +0 -207
  277. package/node_modules/request/node_modules/node-uuid/benchmark/README.md +0 -53
  278. package/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu +0 -174
  279. package/node_modules/request/node_modules/node-uuid/benchmark/bench.sh +0 -34
  280. package/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
  281. package/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js +0 -84
  282. package/node_modules/request/node_modules/node-uuid/component.json +0 -18
  283. package/node_modules/request/node_modules/node-uuid/package.json +0 -54
  284. package/node_modules/request/node_modules/node-uuid/test/compare_v1.js +0 -63
  285. package/node_modules/request/node_modules/node-uuid/test/test.html +0 -17
  286. package/node_modules/request/node_modules/node-uuid/test/test.js +0 -228
  287. package/node_modules/request/node_modules/node-uuid/uuid.js +0 -245
  288. package/node_modules/request/node_modules/oauth-sign/LICENSE +0 -55
  289. package/node_modules/request/node_modules/oauth-sign/README.md +0 -4
  290. package/node_modules/request/node_modules/oauth-sign/index.js +0 -43
  291. package/node_modules/request/node_modules/oauth-sign/package.json +0 -49
  292. package/node_modules/request/node_modules/oauth-sign/test.js +0 -49
  293. package/node_modules/request/node_modules/qs/.jshintignore +0 -1
  294. package/node_modules/request/node_modules/qs/.jshintrc +0 -10
  295. package/node_modules/request/node_modules/qs/.npmignore +0 -18
  296. package/node_modules/request/node_modules/qs/.travis.yml +0 -4
  297. package/node_modules/request/node_modules/qs/LICENSE +0 -28
  298. package/node_modules/request/node_modules/qs/Makefile +0 -8
  299. package/node_modules/request/node_modules/qs/Readme.md +0 -120
  300. package/node_modules/request/node_modules/qs/index.js +0 -1
  301. package/node_modules/request/node_modules/qs/lib/index.js +0 -15
  302. package/node_modules/request/node_modules/qs/lib/parse.js +0 -151
  303. package/node_modules/request/node_modules/qs/lib/stringify.js +0 -52
  304. package/node_modules/request/node_modules/qs/lib/utils.js +0 -131
  305. package/node_modules/request/node_modules/qs/package.json +0 -61
  306. package/node_modules/request/node_modules/qs/test/parse.js +0 -236
  307. package/node_modules/request/node_modules/qs/test/stringify.js +0 -123
  308. package/node_modules/request/node_modules/stringstream/.npmignore +0 -15
  309. package/node_modules/request/node_modules/stringstream/.travis.yml +0 -4
  310. package/node_modules/request/node_modules/stringstream/LICENSE.txt +0 -4
  311. package/node_modules/request/node_modules/stringstream/README.md +0 -38
  312. package/node_modules/request/node_modules/stringstream/example.js +0 -27
  313. package/node_modules/request/node_modules/stringstream/package.json +0 -48
  314. package/node_modules/request/node_modules/stringstream/stringstream.js +0 -102
  315. package/node_modules/request/node_modules/tough-cookie/.jshintrc +0 -70
  316. package/node_modules/request/node_modules/tough-cookie/.npmignore +0 -3
  317. package/node_modules/request/node_modules/tough-cookie/.travis.yml +0 -8
  318. package/node_modules/request/node_modules/tough-cookie/LICENSE +0 -78
  319. package/node_modules/request/node_modules/tough-cookie/README.md +0 -412
  320. package/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js +0 -239
  321. package/node_modules/request/node_modules/tough-cookie/lib/cookie.js +0 -1107
  322. package/node_modules/request/node_modules/tough-cookie/lib/memstore.js +0 -123
  323. package/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js +0 -69
  324. package/node_modules/request/node_modules/tough-cookie/lib/store.js +0 -37
  325. package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt +0 -20
  326. package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/README.md +0 -176
  327. package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/package.json +0 -87
  328. package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.js +0 -528
  329. package/node_modules/request/node_modules/tough-cookie/package.json +0 -67
  330. package/node_modules/request/node_modules/tough-cookie/public-suffix.txt +0 -5229
  331. package/node_modules/request/node_modules/tough-cookie/test.js +0 -1625
  332. package/node_modules/request/node_modules/tunnel-agent/.jshintrc +0 -5
  333. package/node_modules/request/node_modules/tunnel-agent/LICENSE +0 -55
  334. package/node_modules/request/node_modules/tunnel-agent/README.md +0 -4
  335. package/node_modules/request/node_modules/tunnel-agent/index.js +0 -236
  336. package/node_modules/request/node_modules/tunnel-agent/package.json +0 -46
  337. package/node_modules/request/package.json +0 -77
  338. package/node_modules/request/request.js +0 -1428
  339. package/test/fixtures/github-response.json +0 -1367
  340. package/test/index.js +0 -55
@@ -1,151 +0,0 @@
1
- // Load modules
2
-
3
- var Utils = require('./utils');
4
-
5
-
6
- // Declare internals
7
-
8
- var internals = {
9
- depth: 5,
10
- arrayLimit: 20,
11
- parametersLimit: 1000
12
- };
13
-
14
-
15
- internals.parseValues = function (str) {
16
-
17
- var obj = {};
18
- var parts = str.split('&').slice(0, internals.parametersLimit);
19
-
20
- for (var i = 0, il = parts.length; i < il; ++i) {
21
- var part = parts[i];
22
- var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
23
-
24
- if (pos === -1) {
25
- obj[Utils.decode(part)] = '';
26
- }
27
- else {
28
- var key = Utils.decode(part.slice(0, pos));
29
- var val = Utils.decode(part.slice(pos + 1));
30
-
31
- if (!obj[key]) {
32
- obj[key] = val;
33
- }
34
- else {
35
- obj[key] = [].concat(obj[key]).concat(val);
36
- }
37
- }
38
- }
39
-
40
- return obj;
41
- };
42
-
43
-
44
- internals.parseObject = function (chain, val) {
45
-
46
- if (!chain.length) {
47
- return val;
48
- }
49
-
50
- var root = chain.shift();
51
-
52
- var obj = {};
53
- if (root === '[]') {
54
- obj = [];
55
- obj = obj.concat(internals.parseObject(chain, val));
56
- }
57
- else {
58
- var cleanRoot = root[0] === '[' && root[root.length - 1] === ']' ? root.slice(1, root.length - 1) : root;
59
- var index = parseInt(cleanRoot, 10);
60
- if (!isNaN(index) &&
61
- root !== cleanRoot &&
62
- index <= internals.arrayLimit) {
63
-
64
- obj = [];
65
- obj[index] = internals.parseObject(chain, val);
66
- }
67
- else {
68
- obj[cleanRoot] = internals.parseObject(chain, val);
69
- }
70
- }
71
-
72
- return obj;
73
- };
74
-
75
-
76
- internals.parseKeys = function (key, val, depth) {
77
-
78
- if (!key) {
79
- return;
80
- }
81
-
82
- depth = typeof depth === 'undefined' ? internals.depth : depth;
83
-
84
- // The regex chunks
85
-
86
- var parent = /^([^\[\]]*)/;
87
- var child = /(\[[^\[\]]*\])/g;
88
-
89
- // Get the parent
90
-
91
- var segment = parent.exec(key);
92
-
93
- // Don't allow them to overwrite object prototype properties
94
-
95
- if (Object.prototype.hasOwnProperty(segment[1])) {
96
- return;
97
- }
98
-
99
- // Stash the parent if it exists
100
-
101
- var keys = [];
102
- if (segment[1]) {
103
- keys.push(segment[1]);
104
- }
105
-
106
- // Loop through children appending to the array until we hit depth
107
-
108
- var i = 0;
109
- while ((segment = child.exec(key)) !== null && i < depth) {
110
-
111
- ++i;
112
- if (!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) {
113
- keys.push(segment[1]);
114
- }
115
- }
116
-
117
- // If there's a remainder, just add whatever is left
118
-
119
- if (segment) {
120
- keys.push('[' + key.slice(segment.index) + ']');
121
- }
122
-
123
- return internals.parseObject(keys, val);
124
- };
125
-
126
-
127
- module.exports = function (str, depth) {
128
-
129
- if (str === '' ||
130
- str === null ||
131
- typeof str === 'undefined') {
132
-
133
- return {};
134
- }
135
-
136
- var tempObj = typeof str === 'string' ? internals.parseValues(str) : Utils.clone(str);
137
- var obj = {};
138
-
139
- // Iterate over the keys and setup the new object
140
-
141
- for (var key in tempObj) {
142
- if (tempObj.hasOwnProperty(key)) {
143
- var newObj = internals.parseKeys(key, tempObj[key], depth);
144
- obj = Utils.merge(obj, newObj);
145
- }
146
- }
147
-
148
- return Utils.compact(obj);
149
- };
150
-
151
-
@@ -1,52 +0,0 @@
1
- // Load modules
2
-
3
-
4
- // Declare internals
5
-
6
- var internals = {};
7
-
8
-
9
- internals.stringify = function (obj, prefix) {
10
-
11
- if (Buffer.isBuffer(obj)) {
12
- obj = obj.toString();
13
- }
14
- else if (obj instanceof Date) {
15
- obj = obj.toISOString();
16
- }
17
-
18
- if (typeof obj === 'string' ||
19
- typeof obj === 'number' ||
20
- typeof obj === 'boolean') {
21
-
22
- return [prefix + '=' + encodeURIComponent(obj)];
23
- }
24
-
25
- if (obj === null) {
26
- return [prefix];
27
- }
28
-
29
- var values = [];
30
-
31
- for (var key in obj) {
32
- if (obj.hasOwnProperty(key)) {
33
- values = values.concat(internals.stringify(obj[key], prefix + '[' + encodeURIComponent(key) + ']'));
34
- }
35
- }
36
-
37
- return values;
38
- };
39
-
40
-
41
- module.exports = function (obj) {
42
-
43
- var keys = [];
44
-
45
- for (var key in obj) {
46
- if (obj.hasOwnProperty(key)) {
47
- keys = keys.concat(internals.stringify(obj[key], encodeURIComponent(key)));
48
- }
49
- }
50
-
51
- return keys.join('&');
52
- };
@@ -1,131 +0,0 @@
1
- // Load modules
2
-
3
-
4
- // Declare internals
5
-
6
- var internals = {};
7
-
8
-
9
- exports.arrayToObject = function (source) {
10
-
11
- var obj = {};
12
- for (var i = 0, il = source.length; i < il; ++i) {
13
- if (source[i] !== undefined &&
14
- source[i] !== null) {
15
-
16
- obj[i] = source[i];
17
- }
18
- }
19
-
20
- return obj;
21
- };
22
-
23
-
24
- exports.clone = function (source) {
25
-
26
- if (typeof source !== 'object' ||
27
- source === null) {
28
-
29
- return source;
30
- }
31
-
32
- if (Buffer.isBuffer(source)) {
33
- return source.toString();
34
- }
35
-
36
- var obj = Array.isArray(source) ? [] : {};
37
- for (var i in source) {
38
- if (source.hasOwnProperty(i)) {
39
- obj[i] = exports.clone(source[i]);
40
- }
41
- }
42
-
43
- return obj;
44
- };
45
-
46
-
47
- exports.merge = function (target, source) {
48
-
49
- if (!source) {
50
- return target;
51
- }
52
-
53
- var obj = exports.clone(target);
54
-
55
- if (Array.isArray(source)) {
56
- for (var i = 0, il = source.length; i < il; ++i) {
57
- if (source[i] !== undefined) {
58
- obj[i] = source[i];
59
- }
60
- }
61
-
62
- return obj;
63
- }
64
-
65
- if (Array.isArray(obj)) {
66
- obj = exports.arrayToObject(obj);
67
- }
68
-
69
- var keys = Object.keys(source);
70
- for (var k = 0, kl = keys.length; k < kl; ++k) {
71
- var key = keys[k];
72
- var value = source[key];
73
-
74
- if (value &&
75
- typeof value === 'object') {
76
-
77
- if (!obj[key]) {
78
- obj[key] = exports.clone(value);
79
- }
80
- else {
81
- obj[key] = exports.merge(obj[key], value);
82
- }
83
- }
84
- else {
85
- obj[key] = value;
86
- }
87
- }
88
-
89
- return obj;
90
- };
91
-
92
-
93
- exports.decode = function (str) {
94
-
95
- try {
96
- return decodeURIComponent(str.replace(/\+/g, ' '));
97
- } catch (e) {
98
- return str;
99
- }
100
- };
101
-
102
-
103
- exports.compact = function (obj) {
104
-
105
- if (typeof obj !== 'object') {
106
- return obj;
107
- }
108
-
109
- var compacted = {};
110
-
111
- for (var key in obj) {
112
- if (obj.hasOwnProperty(key)) {
113
- if (Array.isArray(obj[key])) {
114
- compacted[key] = [];
115
-
116
- for (var i = 0, l = obj[key].length; i < l; i++) {
117
- if (obj[key].hasOwnProperty(i) &&
118
- obj[key][i]) {
119
-
120
- compacted[key].push(obj[key][i]);
121
- }
122
- }
123
- }
124
- else {
125
- compacted[key] = exports.compact(obj[key]);
126
- }
127
- }
128
- }
129
-
130
- return compacted;
131
- };
@@ -1,61 +0,0 @@
1
- {
2
- "name": "qs",
3
- "version": "1.0.2",
4
- "description": "A querystring parser that supports nesting and arrays, with a depth limit",
5
- "homepage": "https://github.com/hapijs/qs",
6
- "main": "index.js",
7
- "dependencies": {},
8
- "devDependencies": {
9
- "lab": "3.x.x"
10
- },
11
- "scripts": {
12
- "test": "make test-cov"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/hapijs/qs.git"
17
- },
18
- "keywords": [
19
- "querystring",
20
- "qs"
21
- ],
22
- "author": {
23
- "name": "Nathan LaFreniere",
24
- "email": "quitlahok@gmail.com"
25
- },
26
- "licenses": [
27
- {
28
- "type": "BSD",
29
- "url": "http://github.com/hapijs/qs/raw/master/LICENSE"
30
- }
31
- ],
32
- "gitHead": "b7af068a898c8456a99613e474c8765dea7f41dc",
33
- "bugs": {
34
- "url": "https://github.com/hapijs/qs/issues"
35
- },
36
- "_id": "qs@1.0.2",
37
- "_shasum": "50a93e2b5af6691c31bcea5dae78ee6ea1903768",
38
- "_from": "qs@~1.0.0",
39
- "_npmVersion": "1.4.21",
40
- "_npmUser": {
41
- "name": "nlf",
42
- "email": "quitlahok@gmail.com"
43
- },
44
- "maintainers": [
45
- {
46
- "name": "nlf",
47
- "email": "quitlahok@gmail.com"
48
- },
49
- {
50
- "name": "hueniverse",
51
- "email": "eran@hueniverse.com"
52
- }
53
- ],
54
- "dist": {
55
- "shasum": "50a93e2b5af6691c31bcea5dae78ee6ea1903768",
56
- "tarball": "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz"
57
- },
58
- "directories": {},
59
- "_resolved": "https://registry.npmjs.org/qs/-/qs-1.0.2.tgz",
60
- "readme": "ERROR: No README data found!"
61
- }
@@ -1,236 +0,0 @@
1
- // Load modules
2
-
3
- var Lab = require('lab');
4
- var Qs = require('../');
5
-
6
-
7
- // Declare internals
8
-
9
- var internals = {};
10
-
11
-
12
- // Test shortcuts
13
-
14
- var expect = Lab.expect;
15
- var before = Lab.before;
16
- var after = Lab.after;
17
- var describe = Lab.experiment;
18
- var it = Lab.test;
19
-
20
-
21
- describe('#parse', function () {
22
-
23
- it('parses a simple string', function (done) {
24
-
25
- expect(Qs.parse('0=foo')).to.deep.equal({ '0': 'foo' });
26
- expect(Qs.parse('foo=c++')).to.deep.equal({ foo: 'c ' });
27
- expect(Qs.parse('a[>=]=23')).to.deep.equal({ a: { '>=': '23' } });
28
- expect(Qs.parse('a[<=>]==23')).to.deep.equal({ a: { '<=>': '=23' } });
29
- expect(Qs.parse('a[==]=23')).to.deep.equal({ a: { '==': '23' } });
30
- expect(Qs.parse('foo')).to.deep.equal({ foo: '' });
31
- expect(Qs.parse('foo=bar')).to.deep.equal({ foo: 'bar' });
32
- expect(Qs.parse(' foo = bar = baz ')).to.deep.equal({ ' foo ': ' bar = baz ' });
33
- expect(Qs.parse('foo=bar=baz')).to.deep.equal({ foo: 'bar=baz' });
34
- expect(Qs.parse('foo=bar&bar=baz')).to.deep.equal({ foo: 'bar', bar: 'baz' });
35
- expect(Qs.parse('foo=bar&baz')).to.deep.equal({ foo: 'bar', baz: '' });
36
- expect(Qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World')).to.deep.equal({
37
- cht: 'p3',
38
- chd: 't:60,40',
39
- chs: '250x100',
40
- chl: 'Hello|World'
41
- });
42
- done();
43
- });
44
-
45
- it('parses a single nested string', function (done) {
46
-
47
- expect(Qs.parse('a[b]=c')).to.deep.equal({ a: { b: 'c' } });
48
- done();
49
- });
50
-
51
- it('parses a double nested string', function (done) {
52
-
53
- expect(Qs.parse('a[b][c]=d')).to.deep.equal({ a: { b: { c: 'd' } } });
54
- done();
55
- });
56
-
57
- it('defaults to a depth of 5', function (done) {
58
-
59
- expect(Qs.parse('a[b][c][d][e][f][g][h]=i')).to.deep.equal({ a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } });
60
- done();
61
- });
62
-
63
- it('only parses one level when depth = 1', function (done) {
64
-
65
- expect(Qs.parse('a[b][c]=d', 1)).to.deep.equal({ a: { b: { '[c]': 'd' } } });
66
- expect(Qs.parse('a[b][c][d]=e', 1)).to.deep.equal({ a: { b: { '[c][d]': 'e' } } });
67
- done();
68
- });
69
-
70
- it('parses a simple array', function (done) {
71
-
72
- expect(Qs.parse('a=b&a=c')).to.deep.equal({ a: ['b', 'c'] });
73
- done();
74
- });
75
-
76
- it('parses an explicit array', function (done) {
77
-
78
- expect(Qs.parse('a[]=b')).to.deep.equal({ a: ['b'] });
79
- expect(Qs.parse('a[]=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] });
80
- expect(Qs.parse('a[]=b&a[]=c&a[]=d')).to.deep.equal({ a: ['b', 'c', 'd'] });
81
- done();
82
- });
83
-
84
- it('parses a nested array', function (done) {
85
-
86
- expect(Qs.parse('a[b][]=c&a[b][]=d')).to.deep.equal({ a: { b: ['c', 'd'] } });
87
- expect(Qs.parse('a[>=]=25')).to.deep.equal({ a: { '>=': '25' } });
88
- done();
89
- });
90
-
91
- it('allows to specify array indices', function (done) {
92
-
93
- expect(Qs.parse('a[1]=c&a[0]=b&a[2]=d')).to.deep.equal({ a: ['b', 'c', 'd'] });
94
- expect(Qs.parse('a[1]=c&a[0]=b')).to.deep.equal({ a: ['b', 'c'] });
95
- expect(Qs.parse('a[1]=c')).to.deep.equal({ a: ['c'] });
96
- done();
97
- });
98
-
99
- it('limits specific array indices to 20', function (done) {
100
-
101
- expect(Qs.parse('a[20]=a')).to.deep.equal({ a: ['a'] });
102
- expect(Qs.parse('a[21]=a')).to.deep.equal({ a: { '21': 'a' } });
103
- done();
104
- });
105
-
106
- it('supports encoded = signs', function (done) {
107
-
108
- expect(Qs.parse('he%3Dllo=th%3Dere')).to.deep.equal({ 'he=llo': 'th=ere' });
109
- done();
110
- });
111
-
112
- it('is ok with url encoded strings', function (done) {
113
-
114
- expect(Qs.parse('a[b%20c]=d')).to.deep.equal({ a: { 'b c': 'd' } });
115
- expect(Qs.parse('a[b]=c%20d')).to.deep.equal({ a: { b: 'c d' } });
116
- done();
117
- });
118
-
119
- it('allows brackets in the value', function (done) {
120
-
121
- expect(Qs.parse('pets=["tobi"]')).to.deep.equal({ pets: '["tobi"]' });
122
- expect(Qs.parse('operators=[">=", "<="]')).to.deep.equal({ operators: '[">=", "<="]' });
123
- done();
124
- });
125
-
126
- it('allows empty values', function (done) {
127
-
128
- expect(Qs.parse('')).to.deep.equal({});
129
- expect(Qs.parse(null)).to.deep.equal({});
130
- expect(Qs.parse(undefined)).to.deep.equal({});
131
- done();
132
- });
133
-
134
- it('transforms arrays to objects', function (done) {
135
-
136
- expect(Qs.parse('foo[0]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } });
137
- expect(Qs.parse('foo[bad]=baz&foo[0]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } });
138
- expect(Qs.parse('foo[bad]=baz&foo[]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } });
139
- expect(Qs.parse('foo[]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } });
140
- expect(Qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
141
- done();
142
- });
143
-
144
- it('correctly prunes undefined values when converting an array to an object', function (done) {
145
-
146
- expect(Qs.parse('a[2]=b&a[99999999]=c')).to.deep.equal({ a: { '2': 'b', '99999999': 'c' } });
147
- done();
148
- });
149
-
150
- it('supports malformed uri characters', function (done) {
151
-
152
- expect(Qs.parse('{%:%}')).to.deep.equal({ '{%:%}': '' });
153
- expect(Qs.parse('foo=%:%}')).to.deep.equal({ foo: '%:%}' });
154
- done();
155
- });
156
-
157
- it('doesn\'t produce empty keys', function (done) {
158
-
159
- expect(Qs.parse('_r=1&')).to.deep.equal({ '_r': '1' });
160
- done();
161
- });
162
-
163
- it('cannot override prototypes', function (done) {
164
-
165
- var obj = Qs.parse('toString=bad&bad[toString]=bad&constructor=bad');
166
- expect(typeof obj.toString).to.equal('function');
167
- expect(typeof obj.bad.toString).to.equal('function');
168
- expect(typeof obj.constructor).to.equal('function');
169
- done();
170
- });
171
-
172
- it('cannot access Object prototype', function (done) {
173
-
174
- Qs.parse('constructor[prototype][bad]=bad');
175
- Qs.parse('bad[constructor][prototype][bad]=bad');
176
- expect(typeof Object.prototype.bad).to.equal('undefined');
177
- done();
178
- });
179
-
180
- it('parses arrays of objects', function (done) {
181
-
182
- expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] });
183
- expect(Qs.parse('a[0][b]=c')).to.deep.equal({ a: [{ b: 'c' }] });
184
- done();
185
- });
186
-
187
- it('should compact sparse arrays', function (done) {
188
-
189
- expect(Qs.parse('a[10]=1&a[2]=2')).to.deep.equal({ a: ['2', '1'] });
190
- done();
191
- });
192
-
193
- it('parses semi-parsed strings', function (done) {
194
-
195
- expect(Qs.parse({ 'a[b]': 'c' })).to.deep.equal({ a: { b: 'c' } });
196
- expect(Qs.parse({ 'a[b]': 'c', 'a[d]': 'e' })).to.deep.equal({ a: { b: 'c', d: 'e' } });
197
- done();
198
- });
199
-
200
- it('parses buffers to strings', function (done) {
201
-
202
- var b = new Buffer('test');
203
- expect(Qs.parse({ a: b })).to.deep.equal({ a: b.toString() });
204
- done();
205
- });
206
-
207
- it('continues parsing when no parent is found', function (done) {
208
-
209
- expect(Qs.parse('[]&a=b')).to.deep.equal({ '0': '', a: 'b' });
210
- expect(Qs.parse('[foo]=bar')).to.deep.equal({ foo: 'bar' });
211
- done();
212
- });
213
-
214
- it('does not error when parsing a very long array', function (done) {
215
-
216
- var str = 'a[]=a';
217
- while (Buffer.byteLength(str) < 128 * 1024) {
218
- str += '&' + str;
219
- }
220
-
221
- expect(function () {
222
-
223
- Qs.parse(str);
224
- }).to.not.throw();
225
-
226
- done();
227
- });
228
-
229
- it('should not throw when a native prototype has an enumerable property', { parallel: false }, function (done) {
230
-
231
- Object.prototype.crash = '';
232
- expect(Qs.parse.bind(null, 'test')).to.not.throw();
233
- delete Object.prototype.crash;
234
- done();
235
- });
236
- });