es6-crawler-detect 3.3.0 → 4.0.0-beta.2

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 (383) hide show
  1. package/.babelrc +1 -1
  2. package/.mocharc.json +5 -0
  3. package/README.md +1 -0
  4. package/dist/index.d.ts +5 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +18 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/lib/crawler/crawlers.d.ts +5 -0
  9. package/dist/lib/crawler/crawlers.d.ts.map +1 -0
  10. package/dist/lib/crawler/crawlers.js +1400 -0
  11. package/dist/lib/crawler/crawlers.js.map +1 -0
  12. package/dist/lib/crawler/exclusions.d.ts +5 -0
  13. package/dist/lib/crawler/exclusions.d.ts.map +1 -0
  14. package/dist/lib/crawler/exclusions.js +59 -0
  15. package/dist/lib/crawler/exclusions.js.map +1 -0
  16. package/dist/lib/crawler/headers.d.ts +5 -0
  17. package/dist/lib/crawler/headers.d.ts.map +1 -0
  18. package/dist/lib/crawler/headers.js +21 -0
  19. package/dist/lib/crawler/headers.js.map +1 -0
  20. package/dist/lib/crawler/provider.d.ts +4 -0
  21. package/dist/lib/crawler/provider.d.ts.map +1 -0
  22. package/dist/lib/crawler/provider.js +3 -0
  23. package/dist/lib/crawler/provider.js.map +1 -0
  24. package/dist/lib/crawler.d.ts +21 -0
  25. package/dist/lib/crawler.d.ts.map +1 -0
  26. package/dist/lib/crawler.js +98 -0
  27. package/dist/lib/crawler.js.map +1 -0
  28. package/dist/types.d.ts +9 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +3 -0
  31. package/dist/types.js.map +1 -0
  32. package/eslint.config.mjs +62 -0
  33. package/example/node/package.json +1 -1
  34. package/example/node/yarn.lock +222 -99
  35. package/package.json +30 -24
  36. package/src/index.ts +18 -0
  37. package/src/lib/crawler/{crawlers.js → crawlers.ts} +1397 -1403
  38. package/src/lib/crawler/{exclusions.js → exclusions.ts} +56 -62
  39. package/src/lib/crawler/{headers.js → headers.ts} +4 -10
  40. package/src/lib/crawler/provider.ts +3 -0
  41. package/src/lib/crawler.ts +128 -0
  42. package/src/types.ts +15 -0
  43. package/test/lib/crawler.spec.ts +116 -0
  44. package/tsconfig.json +28 -0
  45. package/.eslintignore +0 -6
  46. package/.eslintrc.json +0 -30
  47. package/dist/main.bundle.js +0 -1
  48. package/example/node/dist/crawler.min.js +0 -1
  49. package/example/node/node_modules/.bin/mime +0 -15
  50. package/example/node/node_modules/.bin/mime.cmd +0 -7
  51. package/example/node/node_modules/.yarn-integrity +0 -67
  52. package/example/node/node_modules/accepts/HISTORY.md +0 -236
  53. package/example/node/node_modules/accepts/LICENSE +0 -23
  54. package/example/node/node_modules/accepts/README.md +0 -142
  55. package/example/node/node_modules/accepts/index.js +0 -238
  56. package/example/node/node_modules/accepts/package.json +0 -47
  57. package/example/node/node_modules/array-flatten/LICENSE +0 -21
  58. package/example/node/node_modules/array-flatten/README.md +0 -43
  59. package/example/node/node_modules/array-flatten/array-flatten.js +0 -64
  60. package/example/node/node_modules/array-flatten/package.json +0 -39
  61. package/example/node/node_modules/body-parser/HISTORY.md +0 -624
  62. package/example/node/node_modules/body-parser/LICENSE +0 -23
  63. package/example/node/node_modules/body-parser/README.md +0 -456
  64. package/example/node/node_modules/body-parser/index.js +0 -157
  65. package/example/node/node_modules/body-parser/lib/read.js +0 -181
  66. package/example/node/node_modules/body-parser/lib/types/json.js +0 -230
  67. package/example/node/node_modules/body-parser/lib/types/raw.js +0 -101
  68. package/example/node/node_modules/body-parser/lib/types/text.js +0 -121
  69. package/example/node/node_modules/body-parser/lib/types/urlencoded.js +0 -284
  70. package/example/node/node_modules/body-parser/package.json +0 -52
  71. package/example/node/node_modules/bytes/History.md +0 -92
  72. package/example/node/node_modules/bytes/LICENSE +0 -23
  73. package/example/node/node_modules/bytes/Readme.md +0 -152
  74. package/example/node/node_modules/bytes/index.js +0 -166
  75. package/example/node/node_modules/bytes/package.json +0 -42
  76. package/example/node/node_modules/content-disposition/HISTORY.md +0 -60
  77. package/example/node/node_modules/content-disposition/LICENSE +0 -22
  78. package/example/node/node_modules/content-disposition/README.md +0 -142
  79. package/example/node/node_modules/content-disposition/index.js +0 -458
  80. package/example/node/node_modules/content-disposition/package.json +0 -44
  81. package/example/node/node_modules/content-type/HISTORY.md +0 -24
  82. package/example/node/node_modules/content-type/LICENSE +0 -22
  83. package/example/node/node_modules/content-type/README.md +0 -92
  84. package/example/node/node_modules/content-type/index.js +0 -222
  85. package/example/node/node_modules/content-type/package.json +0 -40
  86. package/example/node/node_modules/cookie/HISTORY.md +0 -128
  87. package/example/node/node_modules/cookie/LICENSE +0 -24
  88. package/example/node/node_modules/cookie/README.md +0 -257
  89. package/example/node/node_modules/cookie/index.js +0 -202
  90. package/example/node/node_modules/cookie/package.json +0 -40
  91. package/example/node/node_modules/cookie-signature/History.md +0 -38
  92. package/example/node/node_modules/cookie-signature/Readme.md +0 -42
  93. package/example/node/node_modules/cookie-signature/index.js +0 -51
  94. package/example/node/node_modules/cookie-signature/package.json +0 -18
  95. package/example/node/node_modules/debug/.coveralls.yml +0 -1
  96. package/example/node/node_modules/debug/.eslintrc +0 -11
  97. package/example/node/node_modules/debug/.travis.yml +0 -14
  98. package/example/node/node_modules/debug/CHANGELOG.md +0 -362
  99. package/example/node/node_modules/debug/LICENSE +0 -19
  100. package/example/node/node_modules/debug/Makefile +0 -50
  101. package/example/node/node_modules/debug/README.md +0 -312
  102. package/example/node/node_modules/debug/component.json +0 -19
  103. package/example/node/node_modules/debug/karma.conf.js +0 -70
  104. package/example/node/node_modules/debug/node.js +0 -1
  105. package/example/node/node_modules/debug/package.json +0 -49
  106. package/example/node/node_modules/debug/src/browser.js +0 -185
  107. package/example/node/node_modules/debug/src/debug.js +0 -202
  108. package/example/node/node_modules/debug/src/index.js +0 -10
  109. package/example/node/node_modules/debug/src/inspector-log.js +0 -15
  110. package/example/node/node_modules/debug/src/node.js +0 -248
  111. package/example/node/node_modules/depd/History.md +0 -96
  112. package/example/node/node_modules/depd/LICENSE +0 -22
  113. package/example/node/node_modules/depd/Readme.md +0 -280
  114. package/example/node/node_modules/depd/index.js +0 -522
  115. package/example/node/node_modules/depd/lib/browser/index.js +0 -77
  116. package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +0 -103
  117. package/example/node/node_modules/depd/lib/compat/event-listener-count.js +0 -22
  118. package/example/node/node_modules/depd/lib/compat/index.js +0 -79
  119. package/example/node/node_modules/depd/package.json +0 -41
  120. package/example/node/node_modules/destroy/LICENSE +0 -22
  121. package/example/node/node_modules/destroy/README.md +0 -60
  122. package/example/node/node_modules/destroy/index.js +0 -75
  123. package/example/node/node_modules/destroy/package.json +0 -37
  124. package/example/node/node_modules/ee-first/LICENSE +0 -22
  125. package/example/node/node_modules/ee-first/README.md +0 -80
  126. package/example/node/node_modules/ee-first/index.js +0 -95
  127. package/example/node/node_modules/ee-first/package.json +0 -29
  128. package/example/node/node_modules/encodeurl/HISTORY.md +0 -14
  129. package/example/node/node_modules/encodeurl/LICENSE +0 -22
  130. package/example/node/node_modules/encodeurl/README.md +0 -128
  131. package/example/node/node_modules/encodeurl/index.js +0 -60
  132. package/example/node/node_modules/encodeurl/package.json +0 -40
  133. package/example/node/node_modules/escape-html/LICENSE +0 -24
  134. package/example/node/node_modules/escape-html/Readme.md +0 -43
  135. package/example/node/node_modules/escape-html/index.js +0 -78
  136. package/example/node/node_modules/escape-html/package.json +0 -24
  137. package/example/node/node_modules/etag/HISTORY.md +0 -83
  138. package/example/node/node_modules/etag/LICENSE +0 -22
  139. package/example/node/node_modules/etag/README.md +0 -159
  140. package/example/node/node_modules/etag/index.js +0 -131
  141. package/example/node/node_modules/etag/package.json +0 -47
  142. package/example/node/node_modules/express/History.md +0 -3510
  143. package/example/node/node_modules/express/LICENSE +0 -24
  144. package/example/node/node_modules/express/Readme.md +0 -158
  145. package/example/node/node_modules/express/index.js +0 -11
  146. package/example/node/node_modules/express/lib/application.js +0 -644
  147. package/example/node/node_modules/express/lib/express.js +0 -116
  148. package/example/node/node_modules/express/lib/middleware/init.js +0 -43
  149. package/example/node/node_modules/express/lib/middleware/query.js +0 -47
  150. package/example/node/node_modules/express/lib/request.js +0 -525
  151. package/example/node/node_modules/express/lib/response.js +0 -1147
  152. package/example/node/node_modules/express/lib/router/index.js +0 -668
  153. package/example/node/node_modules/express/lib/router/layer.js +0 -181
  154. package/example/node/node_modules/express/lib/router/route.js +0 -216
  155. package/example/node/node_modules/express/lib/utils.js +0 -302
  156. package/example/node/node_modules/express/lib/view.js +0 -182
  157. package/example/node/node_modules/express/package.json +0 -99
  158. package/example/node/node_modules/finalhandler/HISTORY.md +0 -187
  159. package/example/node/node_modules/finalhandler/LICENSE +0 -22
  160. package/example/node/node_modules/finalhandler/README.md +0 -148
  161. package/example/node/node_modules/finalhandler/index.js +0 -331
  162. package/example/node/node_modules/finalhandler/package.json +0 -45
  163. package/example/node/node_modules/forwarded/HISTORY.md +0 -21
  164. package/example/node/node_modules/forwarded/LICENSE +0 -22
  165. package/example/node/node_modules/forwarded/README.md +0 -57
  166. package/example/node/node_modules/forwarded/index.js +0 -90
  167. package/example/node/node_modules/forwarded/package.json +0 -45
  168. package/example/node/node_modules/fresh/HISTORY.md +0 -70
  169. package/example/node/node_modules/fresh/LICENSE +0 -23
  170. package/example/node/node_modules/fresh/README.md +0 -119
  171. package/example/node/node_modules/fresh/index.js +0 -137
  172. package/example/node/node_modules/fresh/package.json +0 -46
  173. package/example/node/node_modules/http-errors/HISTORY.md +0 -165
  174. package/example/node/node_modules/http-errors/LICENSE +0 -23
  175. package/example/node/node_modules/http-errors/README.md +0 -169
  176. package/example/node/node_modules/http-errors/index.js +0 -299
  177. package/example/node/node_modules/http-errors/package.json +0 -49
  178. package/example/node/node_modules/iconv-lite/Changelog.md +0 -162
  179. package/example/node/node_modules/iconv-lite/LICENSE +0 -21
  180. package/example/node/node_modules/iconv-lite/README.md +0 -156
  181. package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  182. package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  183. package/example/node/node_modules/iconv-lite/encodings/index.js +0 -22
  184. package/example/node/node_modules/iconv-lite/encodings/internal.js +0 -188
  185. package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  186. package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  187. package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  188. package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  189. package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  190. package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  191. package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  192. package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  193. package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  194. package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  195. package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  196. package/example/node/node_modules/iconv-lite/encodings/utf16.js +0 -177
  197. package/example/node/node_modules/iconv-lite/encodings/utf7.js +0 -290
  198. package/example/node/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  199. package/example/node/node_modules/iconv-lite/lib/extend-node.js +0 -217
  200. package/example/node/node_modules/iconv-lite/lib/index.d.ts +0 -24
  201. package/example/node/node_modules/iconv-lite/lib/index.js +0 -153
  202. package/example/node/node_modules/iconv-lite/lib/streams.js +0 -121
  203. package/example/node/node_modules/iconv-lite/package.json +0 -46
  204. package/example/node/node_modules/inherits/LICENSE +0 -16
  205. package/example/node/node_modules/inherits/README.md +0 -42
  206. package/example/node/node_modules/inherits/inherits.js +0 -9
  207. package/example/node/node_modules/inherits/inherits_browser.js +0 -27
  208. package/example/node/node_modules/inherits/package.json +0 -29
  209. package/example/node/node_modules/ipaddr.js/LICENSE +0 -19
  210. package/example/node/node_modules/ipaddr.js/README.md +0 -233
  211. package/example/node/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  212. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  213. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  214. package/example/node/node_modules/ipaddr.js/package.json +0 -35
  215. package/example/node/node_modules/media-typer/HISTORY.md +0 -22
  216. package/example/node/node_modules/media-typer/LICENSE +0 -22
  217. package/example/node/node_modules/media-typer/README.md +0 -81
  218. package/example/node/node_modules/media-typer/index.js +0 -270
  219. package/example/node/node_modules/media-typer/package.json +0 -26
  220. package/example/node/node_modules/merge-descriptors/HISTORY.md +0 -21
  221. package/example/node/node_modules/merge-descriptors/LICENSE +0 -23
  222. package/example/node/node_modules/merge-descriptors/README.md +0 -48
  223. package/example/node/node_modules/merge-descriptors/index.js +0 -60
  224. package/example/node/node_modules/merge-descriptors/package.json +0 -32
  225. package/example/node/node_modules/methods/HISTORY.md +0 -29
  226. package/example/node/node_modules/methods/LICENSE +0 -24
  227. package/example/node/node_modules/methods/README.md +0 -51
  228. package/example/node/node_modules/methods/index.js +0 -69
  229. package/example/node/node_modules/methods/package.json +0 -36
  230. package/example/node/node_modules/mime/CHANGELOG.md +0 -164
  231. package/example/node/node_modules/mime/LICENSE +0 -21
  232. package/example/node/node_modules/mime/README.md +0 -90
  233. package/example/node/node_modules/mime/cli.js +0 -8
  234. package/example/node/node_modules/mime/mime.js +0 -108
  235. package/example/node/node_modules/mime/package.json +0 -44
  236. package/example/node/node_modules/mime/src/build.js +0 -53
  237. package/example/node/node_modules/mime/src/test.js +0 -60
  238. package/example/node/node_modules/mime/types.json +0 -1
  239. package/example/node/node_modules/mime-db/HISTORY.md +0 -499
  240. package/example/node/node_modules/mime-db/LICENSE +0 -22
  241. package/example/node/node_modules/mime-db/README.md +0 -100
  242. package/example/node/node_modules/mime-db/db.json +0 -8471
  243. package/example/node/node_modules/mime-db/index.js +0 -11
  244. package/example/node/node_modules/mime-db/package.json +0 -59
  245. package/example/node/node_modules/mime-types/HISTORY.md +0 -388
  246. package/example/node/node_modules/mime-types/LICENSE +0 -23
  247. package/example/node/node_modules/mime-types/README.md +0 -113
  248. package/example/node/node_modules/mime-types/index.js +0 -188
  249. package/example/node/node_modules/mime-types/package.json +0 -44
  250. package/example/node/node_modules/ms/index.js +0 -152
  251. package/example/node/node_modules/ms/license.md +0 -21
  252. package/example/node/node_modules/ms/package.json +0 -37
  253. package/example/node/node_modules/ms/readme.md +0 -51
  254. package/example/node/node_modules/negotiator/HISTORY.md +0 -103
  255. package/example/node/node_modules/negotiator/LICENSE +0 -24
  256. package/example/node/node_modules/negotiator/README.md +0 -203
  257. package/example/node/node_modules/negotiator/index.js +0 -124
  258. package/example/node/node_modules/negotiator/lib/charset.js +0 -169
  259. package/example/node/node_modules/negotiator/lib/encoding.js +0 -184
  260. package/example/node/node_modules/negotiator/lib/language.js +0 -179
  261. package/example/node/node_modules/negotiator/lib/mediaType.js +0 -294
  262. package/example/node/node_modules/negotiator/package.json +0 -42
  263. package/example/node/node_modules/on-finished/HISTORY.md +0 -88
  264. package/example/node/node_modules/on-finished/LICENSE +0 -23
  265. package/example/node/node_modules/on-finished/README.md +0 -154
  266. package/example/node/node_modules/on-finished/index.js +0 -196
  267. package/example/node/node_modules/on-finished/package.json +0 -31
  268. package/example/node/node_modules/parseurl/HISTORY.md +0 -58
  269. package/example/node/node_modules/parseurl/LICENSE +0 -24
  270. package/example/node/node_modules/parseurl/README.md +0 -133
  271. package/example/node/node_modules/parseurl/index.js +0 -158
  272. package/example/node/node_modules/parseurl/package.json +0 -40
  273. package/example/node/node_modules/path-to-regexp/History.md +0 -36
  274. package/example/node/node_modules/path-to-regexp/LICENSE +0 -21
  275. package/example/node/node_modules/path-to-regexp/Readme.md +0 -35
  276. package/example/node/node_modules/path-to-regexp/index.js +0 -129
  277. package/example/node/node_modules/path-to-regexp/package.json +0 -30
  278. package/example/node/node_modules/proxy-addr/HISTORY.md +0 -161
  279. package/example/node/node_modules/proxy-addr/LICENSE +0 -22
  280. package/example/node/node_modules/proxy-addr/README.md +0 -139
  281. package/example/node/node_modules/proxy-addr/index.js +0 -327
  282. package/example/node/node_modules/proxy-addr/package.json +0 -47
  283. package/example/node/node_modules/qs/.editorconfig +0 -39
  284. package/example/node/node_modules/qs/.eslintignore +0 -2
  285. package/example/node/node_modules/qs/.eslintrc +0 -35
  286. package/example/node/node_modules/qs/.github/FUNDING.yml +0 -12
  287. package/example/node/node_modules/qs/.nycrc +0 -13
  288. package/example/node/node_modules/qs/CHANGELOG.md +0 -359
  289. package/example/node/node_modules/qs/LICENSE.md +0 -29
  290. package/example/node/node_modules/qs/README.md +0 -604
  291. package/example/node/node_modules/qs/dist/qs.js +0 -832
  292. package/example/node/node_modules/qs/lib/formats.js +0 -23
  293. package/example/node/node_modules/qs/lib/index.js +0 -11
  294. package/example/node/node_modules/qs/lib/parse.js +0 -257
  295. package/example/node/node_modules/qs/lib/stringify.js +0 -278
  296. package/example/node/node_modules/qs/lib/utils.js +0 -251
  297. package/example/node/node_modules/qs/package.json +0 -69
  298. package/example/node/node_modules/qs/test/parse.js +0 -772
  299. package/example/node/node_modules/qs/test/stringify.js +0 -793
  300. package/example/node/node_modules/qs/test/utils.js +0 -136
  301. package/example/node/node_modules/range-parser/HISTORY.md +0 -56
  302. package/example/node/node_modules/range-parser/LICENSE +0 -23
  303. package/example/node/node_modules/range-parser/README.md +0 -84
  304. package/example/node/node_modules/range-parser/index.js +0 -162
  305. package/example/node/node_modules/range-parser/package.json +0 -44
  306. package/example/node/node_modules/raw-body/HISTORY.md +0 -284
  307. package/example/node/node_modules/raw-body/LICENSE +0 -22
  308. package/example/node/node_modules/raw-body/README.md +0 -217
  309. package/example/node/node_modules/raw-body/index.d.ts +0 -87
  310. package/example/node/node_modules/raw-body/index.js +0 -286
  311. package/example/node/node_modules/raw-body/package.json +0 -48
  312. package/example/node/node_modules/safe-buffer/LICENSE +0 -21
  313. package/example/node/node_modules/safe-buffer/README.md +0 -584
  314. package/example/node/node_modules/safe-buffer/index.d.ts +0 -187
  315. package/example/node/node_modules/safe-buffer/index.js +0 -65
  316. package/example/node/node_modules/safe-buffer/package.json +0 -51
  317. package/example/node/node_modules/safer-buffer/LICENSE +0 -21
  318. package/example/node/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  319. package/example/node/node_modules/safer-buffer/Readme.md +0 -156
  320. package/example/node/node_modules/safer-buffer/dangerous.js +0 -58
  321. package/example/node/node_modules/safer-buffer/package.json +0 -34
  322. package/example/node/node_modules/safer-buffer/safer.js +0 -77
  323. package/example/node/node_modules/safer-buffer/tests.js +0 -406
  324. package/example/node/node_modules/send/HISTORY.md +0 -506
  325. package/example/node/node_modules/send/LICENSE +0 -23
  326. package/example/node/node_modules/send/README.md +0 -327
  327. package/example/node/node_modules/send/index.js +0 -1133
  328. package/example/node/node_modules/send/node_modules/.bin/mime +0 -15
  329. package/example/node/node_modules/send/node_modules/.bin/mime.cmd +0 -7
  330. package/example/node/node_modules/send/node_modules/ms/index.js +0 -162
  331. package/example/node/node_modules/send/node_modules/ms/license.md +0 -21
  332. package/example/node/node_modules/send/node_modules/ms/package.json +0 -38
  333. package/example/node/node_modules/send/node_modules/ms/readme.md +0 -59
  334. package/example/node/node_modules/send/package.json +0 -61
  335. package/example/node/node_modules/serve-static/HISTORY.md +0 -459
  336. package/example/node/node_modules/serve-static/LICENSE +0 -25
  337. package/example/node/node_modules/serve-static/README.md +0 -257
  338. package/example/node/node_modules/serve-static/index.js +0 -210
  339. package/example/node/node_modules/serve-static/package.json +0 -42
  340. package/example/node/node_modules/setprototypeof/LICENSE +0 -13
  341. package/example/node/node_modules/setprototypeof/README.md +0 -31
  342. package/example/node/node_modules/setprototypeof/index.d.ts +0 -2
  343. package/example/node/node_modules/setprototypeof/index.js +0 -17
  344. package/example/node/node_modules/setprototypeof/package.json +0 -38
  345. package/example/node/node_modules/setprototypeof/test/index.js +0 -24
  346. package/example/node/node_modules/statuses/HISTORY.md +0 -65
  347. package/example/node/node_modules/statuses/LICENSE +0 -23
  348. package/example/node/node_modules/statuses/README.md +0 -127
  349. package/example/node/node_modules/statuses/codes.json +0 -66
  350. package/example/node/node_modules/statuses/index.js +0 -113
  351. package/example/node/node_modules/statuses/package.json +0 -48
  352. package/example/node/node_modules/toidentifier/HISTORY.md +0 -9
  353. package/example/node/node_modules/toidentifier/LICENSE +0 -21
  354. package/example/node/node_modules/toidentifier/README.md +0 -61
  355. package/example/node/node_modules/toidentifier/index.js +0 -32
  356. package/example/node/node_modules/toidentifier/package.json +0 -38
  357. package/example/node/node_modules/type-is/HISTORY.md +0 -259
  358. package/example/node/node_modules/type-is/LICENSE +0 -23
  359. package/example/node/node_modules/type-is/README.md +0 -170
  360. package/example/node/node_modules/type-is/index.js +0 -266
  361. package/example/node/node_modules/type-is/package.json +0 -45
  362. package/example/node/node_modules/unpipe/HISTORY.md +0 -4
  363. package/example/node/node_modules/unpipe/LICENSE +0 -22
  364. package/example/node/node_modules/unpipe/README.md +0 -43
  365. package/example/node/node_modules/unpipe/index.js +0 -69
  366. package/example/node/node_modules/unpipe/package.json +0 -27
  367. package/example/node/node_modules/utils-merge/LICENSE +0 -20
  368. package/example/node/node_modules/utils-merge/README.md +0 -34
  369. package/example/node/node_modules/utils-merge/index.js +0 -23
  370. package/example/node/node_modules/utils-merge/package.json +0 -40
  371. package/example/node/node_modules/vary/HISTORY.md +0 -39
  372. package/example/node/node_modules/vary/LICENSE +0 -22
  373. package/example/node/node_modules/vary/README.md +0 -101
  374. package/example/node/node_modules/vary/index.js +0 -149
  375. package/example/node/node_modules/vary/package.json +0 -43
  376. package/example/node/server.js +0 -38
  377. package/src/index.js +0 -16
  378. package/src/lib/crawler/provider.js +0 -11
  379. package/src/lib/crawler.js +0 -130
  380. package/test/lib/crawler.test.js +0 -94
  381. package/webpack.common.js +0 -20
  382. package/webpack.dev.js +0 -7
  383. package/webpack.prod.js +0 -14
@@ -1,832 +0,0 @@
1
- (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
2
- 'use strict';
3
-
4
- var replace = String.prototype.replace;
5
- var percentTwenties = /%20/g;
6
-
7
- var Format = {
8
- RFC1738: 'RFC1738',
9
- RFC3986: 'RFC3986'
10
- };
11
-
12
- module.exports = {
13
- 'default': Format.RFC3986,
14
- formatters: {
15
- RFC1738: function (value) {
16
- return replace.call(value, percentTwenties, '+');
17
- },
18
- RFC3986: function (value) {
19
- return String(value);
20
- }
21
- },
22
- RFC1738: Format.RFC1738,
23
- RFC3986: Format.RFC3986
24
- };
25
-
26
- },{}],2:[function(require,module,exports){
27
- 'use strict';
28
-
29
- var stringify = require('./stringify');
30
- var parse = require('./parse');
31
- var formats = require('./formats');
32
-
33
- module.exports = {
34
- formats: formats,
35
- parse: parse,
36
- stringify: stringify
37
- };
38
-
39
- },{"./formats":1,"./parse":3,"./stringify":4}],3:[function(require,module,exports){
40
- 'use strict';
41
-
42
- var utils = require('./utils');
43
-
44
- var has = Object.prototype.hasOwnProperty;
45
- var isArray = Array.isArray;
46
-
47
- var defaults = {
48
- allowDots: false,
49
- allowPrototypes: false,
50
- arrayLimit: 20,
51
- charset: 'utf-8',
52
- charsetSentinel: false,
53
- comma: false,
54
- decoder: utils.decode,
55
- delimiter: '&',
56
- depth: 5,
57
- ignoreQueryPrefix: false,
58
- interpretNumericEntities: false,
59
- parameterLimit: 1000,
60
- parseArrays: true,
61
- plainObjects: false,
62
- strictNullHandling: false
63
- };
64
-
65
- var interpretNumericEntities = function (str) {
66
- return str.replace(/&#(\d+);/g, function ($0, numberStr) {
67
- return String.fromCharCode(parseInt(numberStr, 10));
68
- });
69
- };
70
-
71
- var parseArrayValue = function (val, options) {
72
- if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
73
- return val.split(',');
74
- }
75
-
76
- return val;
77
- };
78
-
79
- // This is what browsers will submit when the ✓ character occurs in an
80
- // application/x-www-form-urlencoded body and the encoding of the page containing
81
- // the form is iso-8859-1, or when the submitted form has an accept-charset
82
- // attribute of iso-8859-1. Presumably also with other charsets that do not contain
83
- // the ✓ character, such as us-ascii.
84
- var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')
85
-
86
- // These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
87
- var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
88
-
89
- var parseValues = function parseQueryStringValues(str, options) {
90
- var obj = {};
91
- var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
92
- var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
93
- var parts = cleanStr.split(options.delimiter, limit);
94
- var skipIndex = -1; // Keep track of where the utf8 sentinel was found
95
- var i;
96
-
97
- var charset = options.charset;
98
- if (options.charsetSentinel) {
99
- for (i = 0; i < parts.length; ++i) {
100
- if (parts[i].indexOf('utf8=') === 0) {
101
- if (parts[i] === charsetSentinel) {
102
- charset = 'utf-8';
103
- } else if (parts[i] === isoSentinel) {
104
- charset = 'iso-8859-1';
105
- }
106
- skipIndex = i;
107
- i = parts.length; // The eslint settings do not allow break;
108
- }
109
- }
110
- }
111
-
112
- for (i = 0; i < parts.length; ++i) {
113
- if (i === skipIndex) {
114
- continue;
115
- }
116
- var part = parts[i];
117
-
118
- var bracketEqualsPos = part.indexOf(']=');
119
- var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
120
-
121
- var key, val;
122
- if (pos === -1) {
123
- key = options.decoder(part, defaults.decoder, charset, 'key');
124
- val = options.strictNullHandling ? null : '';
125
- } else {
126
- key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
127
- val = utils.maybeMap(
128
- parseArrayValue(part.slice(pos + 1), options),
129
- function (encodedVal) {
130
- return options.decoder(encodedVal, defaults.decoder, charset, 'value');
131
- }
132
- );
133
- }
134
-
135
- if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
136
- val = interpretNumericEntities(val);
137
- }
138
-
139
- if (part.indexOf('[]=') > -1) {
140
- val = isArray(val) ? [val] : val;
141
- }
142
-
143
- if (has.call(obj, key)) {
144
- obj[key] = utils.combine(obj[key], val);
145
- } else {
146
- obj[key] = val;
147
- }
148
- }
149
-
150
- return obj;
151
- };
152
-
153
- var parseObject = function (chain, val, options, valuesParsed) {
154
- var leaf = valuesParsed ? val : parseArrayValue(val, options);
155
-
156
- for (var i = chain.length - 1; i >= 0; --i) {
157
- var obj;
158
- var root = chain[i];
159
-
160
- if (root === '[]' && options.parseArrays) {
161
- obj = [].concat(leaf);
162
- } else {
163
- obj = options.plainObjects ? Object.create(null) : {};
164
- var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
165
- var index = parseInt(cleanRoot, 10);
166
- if (!options.parseArrays && cleanRoot === '') {
167
- obj = { 0: leaf };
168
- } else if (
169
- !isNaN(index)
170
- && root !== cleanRoot
171
- && String(index) === cleanRoot
172
- && index >= 0
173
- && (options.parseArrays && index <= options.arrayLimit)
174
- ) {
175
- obj = [];
176
- obj[index] = leaf;
177
- } else {
178
- obj[cleanRoot] = leaf;
179
- }
180
- }
181
-
182
- leaf = obj;
183
- }
184
-
185
- return leaf;
186
- };
187
-
188
- var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
189
- if (!givenKey) {
190
- return;
191
- }
192
-
193
- // Transform dot notation to bracket notation
194
- var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
195
-
196
- // The regex chunks
197
-
198
- var brackets = /(\[[^[\]]*])/;
199
- var child = /(\[[^[\]]*])/g;
200
-
201
- // Get the parent
202
-
203
- var segment = options.depth > 0 && brackets.exec(key);
204
- var parent = segment ? key.slice(0, segment.index) : key;
205
-
206
- // Stash the parent if it exists
207
-
208
- var keys = [];
209
- if (parent) {
210
- // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
211
- if (!options.plainObjects && has.call(Object.prototype, parent)) {
212
- if (!options.allowPrototypes) {
213
- return;
214
- }
215
- }
216
-
217
- keys.push(parent);
218
- }
219
-
220
- // Loop through children appending to the array until we hit depth
221
-
222
- var i = 0;
223
- while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
224
- i += 1;
225
- if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
226
- if (!options.allowPrototypes) {
227
- return;
228
- }
229
- }
230
- keys.push(segment[1]);
231
- }
232
-
233
- // If there's a remainder, just add whatever is left
234
-
235
- if (segment) {
236
- keys.push('[' + key.slice(segment.index) + ']');
237
- }
238
-
239
- return parseObject(keys, val, options, valuesParsed);
240
- };
241
-
242
- var normalizeParseOptions = function normalizeParseOptions(opts) {
243
- if (!opts) {
244
- return defaults;
245
- }
246
-
247
- if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
248
- throw new TypeError('Decoder has to be a function.');
249
- }
250
-
251
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
252
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
253
- }
254
- var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
255
-
256
- return {
257
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
258
- allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
259
- arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
260
- charset: charset,
261
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
262
- comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
263
- decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
264
- delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
265
- // eslint-disable-next-line no-implicit-coercion, no-extra-parens
266
- depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,
267
- ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
268
- interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
269
- parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
270
- parseArrays: opts.parseArrays !== false,
271
- plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
272
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
273
- };
274
- };
275
-
276
- module.exports = function (str, opts) {
277
- var options = normalizeParseOptions(opts);
278
-
279
- if (str === '' || str === null || typeof str === 'undefined') {
280
- return options.plainObjects ? Object.create(null) : {};
281
- }
282
-
283
- var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
284
- var obj = options.plainObjects ? Object.create(null) : {};
285
-
286
- // Iterate over the keys and setup the new object
287
-
288
- var keys = Object.keys(tempObj);
289
- for (var i = 0; i < keys.length; ++i) {
290
- var key = keys[i];
291
- var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
292
- obj = utils.merge(obj, newObj, options);
293
- }
294
-
295
- return utils.compact(obj);
296
- };
297
-
298
- },{"./utils":5}],4:[function(require,module,exports){
299
- 'use strict';
300
-
301
- var utils = require('./utils');
302
- var formats = require('./formats');
303
- var has = Object.prototype.hasOwnProperty;
304
-
305
- var arrayPrefixGenerators = {
306
- brackets: function brackets(prefix) {
307
- return prefix + '[]';
308
- },
309
- comma: 'comma',
310
- indices: function indices(prefix, key) {
311
- return prefix + '[' + key + ']';
312
- },
313
- repeat: function repeat(prefix) {
314
- return prefix;
315
- }
316
- };
317
-
318
- var isArray = Array.isArray;
319
- var push = Array.prototype.push;
320
- var pushToArray = function (arr, valueOrArray) {
321
- push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
322
- };
323
-
324
- var toISO = Date.prototype.toISOString;
325
-
326
- var defaultFormat = formats['default'];
327
- var defaults = {
328
- addQueryPrefix: false,
329
- allowDots: false,
330
- charset: 'utf-8',
331
- charsetSentinel: false,
332
- delimiter: '&',
333
- encode: true,
334
- encoder: utils.encode,
335
- encodeValuesOnly: false,
336
- format: defaultFormat,
337
- formatter: formats.formatters[defaultFormat],
338
- // deprecated
339
- indices: false,
340
- serializeDate: function serializeDate(date) {
341
- return toISO.call(date);
342
- },
343
- skipNulls: false,
344
- strictNullHandling: false
345
- };
346
-
347
- var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
348
- return typeof v === 'string'
349
- || typeof v === 'number'
350
- || typeof v === 'boolean'
351
- || typeof v === 'symbol'
352
- || typeof v === 'bigint';
353
- };
354
-
355
- var stringify = function stringify(
356
- object,
357
- prefix,
358
- generateArrayPrefix,
359
- strictNullHandling,
360
- skipNulls,
361
- encoder,
362
- filter,
363
- sort,
364
- allowDots,
365
- serializeDate,
366
- format,
367
- formatter,
368
- encodeValuesOnly,
369
- charset
370
- ) {
371
- var obj = object;
372
- if (typeof filter === 'function') {
373
- obj = filter(prefix, obj);
374
- } else if (obj instanceof Date) {
375
- obj = serializeDate(obj);
376
- } else if (generateArrayPrefix === 'comma' && isArray(obj)) {
377
- obj = utils.maybeMap(obj, function (value) {
378
- if (value instanceof Date) {
379
- return serializeDate(value);
380
- }
381
- return value;
382
- });
383
- }
384
-
385
- if (obj === null) {
386
- if (strictNullHandling) {
387
- return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
388
- }
389
-
390
- obj = '';
391
- }
392
-
393
- if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
394
- if (encoder) {
395
- var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
396
- return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
397
- }
398
- return [formatter(prefix) + '=' + formatter(String(obj))];
399
- }
400
-
401
- var values = [];
402
-
403
- if (typeof obj === 'undefined') {
404
- return values;
405
- }
406
-
407
- var objKeys;
408
- if (generateArrayPrefix === 'comma' && isArray(obj)) {
409
- // we need to join elements in
410
- objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];
411
- } else if (isArray(filter)) {
412
- objKeys = filter;
413
- } else {
414
- var keys = Object.keys(obj);
415
- objKeys = sort ? keys.sort(sort) : keys;
416
- }
417
-
418
- for (var i = 0; i < objKeys.length; ++i) {
419
- var key = objKeys[i];
420
- var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];
421
-
422
- if (skipNulls && value === null) {
423
- continue;
424
- }
425
-
426
- var keyPrefix = isArray(obj)
427
- ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix
428
- : prefix + (allowDots ? '.' + key : '[' + key + ']');
429
-
430
- pushToArray(values, stringify(
431
- value,
432
- keyPrefix,
433
- generateArrayPrefix,
434
- strictNullHandling,
435
- skipNulls,
436
- encoder,
437
- filter,
438
- sort,
439
- allowDots,
440
- serializeDate,
441
- format,
442
- formatter,
443
- encodeValuesOnly,
444
- charset
445
- ));
446
- }
447
-
448
- return values;
449
- };
450
-
451
- var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
452
- if (!opts) {
453
- return defaults;
454
- }
455
-
456
- if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
457
- throw new TypeError('Encoder has to be a function.');
458
- }
459
-
460
- var charset = opts.charset || defaults.charset;
461
- if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
462
- throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
463
- }
464
-
465
- var format = formats['default'];
466
- if (typeof opts.format !== 'undefined') {
467
- if (!has.call(formats.formatters, opts.format)) {
468
- throw new TypeError('Unknown format option provided.');
469
- }
470
- format = opts.format;
471
- }
472
- var formatter = formats.formatters[format];
473
-
474
- var filter = defaults.filter;
475
- if (typeof opts.filter === 'function' || isArray(opts.filter)) {
476
- filter = opts.filter;
477
- }
478
-
479
- return {
480
- addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
481
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
482
- charset: charset,
483
- charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
484
- delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
485
- encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
486
- encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
487
- encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
488
- filter: filter,
489
- format: format,
490
- formatter: formatter,
491
- serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
492
- skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
493
- sort: typeof opts.sort === 'function' ? opts.sort : null,
494
- strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
495
- };
496
- };
497
-
498
- module.exports = function (object, opts) {
499
- var obj = object;
500
- var options = normalizeStringifyOptions(opts);
501
-
502
- var objKeys;
503
- var filter;
504
-
505
- if (typeof options.filter === 'function') {
506
- filter = options.filter;
507
- obj = filter('', obj);
508
- } else if (isArray(options.filter)) {
509
- filter = options.filter;
510
- objKeys = filter;
511
- }
512
-
513
- var keys = [];
514
-
515
- if (typeof obj !== 'object' || obj === null) {
516
- return '';
517
- }
518
-
519
- var arrayFormat;
520
- if (opts && opts.arrayFormat in arrayPrefixGenerators) {
521
- arrayFormat = opts.arrayFormat;
522
- } else if (opts && 'indices' in opts) {
523
- arrayFormat = opts.indices ? 'indices' : 'repeat';
524
- } else {
525
- arrayFormat = 'indices';
526
- }
527
-
528
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
529
-
530
- if (!objKeys) {
531
- objKeys = Object.keys(obj);
532
- }
533
-
534
- if (options.sort) {
535
- objKeys.sort(options.sort);
536
- }
537
-
538
- for (var i = 0; i < objKeys.length; ++i) {
539
- var key = objKeys[i];
540
-
541
- if (options.skipNulls && obj[key] === null) {
542
- continue;
543
- }
544
- pushToArray(keys, stringify(
545
- obj[key],
546
- key,
547
- generateArrayPrefix,
548
- options.strictNullHandling,
549
- options.skipNulls,
550
- options.encode ? options.encoder : null,
551
- options.filter,
552
- options.sort,
553
- options.allowDots,
554
- options.serializeDate,
555
- options.format,
556
- options.formatter,
557
- options.encodeValuesOnly,
558
- options.charset
559
- ));
560
- }
561
-
562
- var joined = keys.join(options.delimiter);
563
- var prefix = options.addQueryPrefix === true ? '?' : '';
564
-
565
- if (options.charsetSentinel) {
566
- if (options.charset === 'iso-8859-1') {
567
- // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
568
- prefix += 'utf8=%26%2310003%3B&';
569
- } else {
570
- // encodeURIComponent('✓')
571
- prefix += 'utf8=%E2%9C%93&';
572
- }
573
- }
574
-
575
- return joined.length > 0 ? prefix + joined : '';
576
- };
577
-
578
- },{"./formats":1,"./utils":5}],5:[function(require,module,exports){
579
- 'use strict';
580
-
581
- var formats = require('./formats');
582
-
583
- var has = Object.prototype.hasOwnProperty;
584
- var isArray = Array.isArray;
585
-
586
- var hexTable = (function () {
587
- var array = [];
588
- for (var i = 0; i < 256; ++i) {
589
- array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
590
- }
591
-
592
- return array;
593
- }());
594
-
595
- var compactQueue = function compactQueue(queue) {
596
- while (queue.length > 1) {
597
- var item = queue.pop();
598
- var obj = item.obj[item.prop];
599
-
600
- if (isArray(obj)) {
601
- var compacted = [];
602
-
603
- for (var j = 0; j < obj.length; ++j) {
604
- if (typeof obj[j] !== 'undefined') {
605
- compacted.push(obj[j]);
606
- }
607
- }
608
-
609
- item.obj[item.prop] = compacted;
610
- }
611
- }
612
- };
613
-
614
- var arrayToObject = function arrayToObject(source, options) {
615
- var obj = options && options.plainObjects ? Object.create(null) : {};
616
- for (var i = 0; i < source.length; ++i) {
617
- if (typeof source[i] !== 'undefined') {
618
- obj[i] = source[i];
619
- }
620
- }
621
-
622
- return obj;
623
- };
624
-
625
- var merge = function merge(target, source, options) {
626
- /* eslint no-param-reassign: 0 */
627
- if (!source) {
628
- return target;
629
- }
630
-
631
- if (typeof source !== 'object') {
632
- if (isArray(target)) {
633
- target.push(source);
634
- } else if (target && typeof target === 'object') {
635
- if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
636
- target[source] = true;
637
- }
638
- } else {
639
- return [target, source];
640
- }
641
-
642
- return target;
643
- }
644
-
645
- if (!target || typeof target !== 'object') {
646
- return [target].concat(source);
647
- }
648
-
649
- var mergeTarget = target;
650
- if (isArray(target) && !isArray(source)) {
651
- mergeTarget = arrayToObject(target, options);
652
- }
653
-
654
- if (isArray(target) && isArray(source)) {
655
- source.forEach(function (item, i) {
656
- if (has.call(target, i)) {
657
- var targetItem = target[i];
658
- if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
659
- target[i] = merge(targetItem, item, options);
660
- } else {
661
- target.push(item);
662
- }
663
- } else {
664
- target[i] = item;
665
- }
666
- });
667
- return target;
668
- }
669
-
670
- return Object.keys(source).reduce(function (acc, key) {
671
- var value = source[key];
672
-
673
- if (has.call(acc, key)) {
674
- acc[key] = merge(acc[key], value, options);
675
- } else {
676
- acc[key] = value;
677
- }
678
- return acc;
679
- }, mergeTarget);
680
- };
681
-
682
- var assign = function assignSingleSource(target, source) {
683
- return Object.keys(source).reduce(function (acc, key) {
684
- acc[key] = source[key];
685
- return acc;
686
- }, target);
687
- };
688
-
689
- var decode = function (str, decoder, charset) {
690
- var strWithoutPlus = str.replace(/\+/g, ' ');
691
- if (charset === 'iso-8859-1') {
692
- // unescape never throws, no try...catch needed:
693
- return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
694
- }
695
- // utf-8
696
- try {
697
- return decodeURIComponent(strWithoutPlus);
698
- } catch (e) {
699
- return strWithoutPlus;
700
- }
701
- };
702
-
703
- var encode = function encode(str, defaultEncoder, charset, kind, format) {
704
- // This code was originally written by Brian White (mscdex) for the io.js core querystring library.
705
- // It has been adapted here for stricter adherence to RFC 3986
706
- if (str.length === 0) {
707
- return str;
708
- }
709
-
710
- var string = str;
711
- if (typeof str === 'symbol') {
712
- string = Symbol.prototype.toString.call(str);
713
- } else if (typeof str !== 'string') {
714
- string = String(str);
715
- }
716
-
717
- if (charset === 'iso-8859-1') {
718
- return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
719
- return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
720
- });
721
- }
722
-
723
- var out = '';
724
- for (var i = 0; i < string.length; ++i) {
725
- var c = string.charCodeAt(i);
726
-
727
- if (
728
- c === 0x2D // -
729
- || c === 0x2E // .
730
- || c === 0x5F // _
731
- || c === 0x7E // ~
732
- || (c >= 0x30 && c <= 0x39) // 0-9
733
- || (c >= 0x41 && c <= 0x5A) // a-z
734
- || (c >= 0x61 && c <= 0x7A) // A-Z
735
- || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )
736
- ) {
737
- out += string.charAt(i);
738
- continue;
739
- }
740
-
741
- if (c < 0x80) {
742
- out = out + hexTable[c];
743
- continue;
744
- }
745
-
746
- if (c < 0x800) {
747
- out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);
748
- continue;
749
- }
750
-
751
- if (c < 0xD800 || c >= 0xE000) {
752
- out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);
753
- continue;
754
- }
755
-
756
- i += 1;
757
- c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
758
- out += hexTable[0xF0 | (c >> 18)]
759
- + hexTable[0x80 | ((c >> 12) & 0x3F)]
760
- + hexTable[0x80 | ((c >> 6) & 0x3F)]
761
- + hexTable[0x80 | (c & 0x3F)];
762
- }
763
-
764
- return out;
765
- };
766
-
767
- var compact = function compact(value) {
768
- var queue = [{ obj: { o: value }, prop: 'o' }];
769
- var refs = [];
770
-
771
- for (var i = 0; i < queue.length; ++i) {
772
- var item = queue[i];
773
- var obj = item.obj[item.prop];
774
-
775
- var keys = Object.keys(obj);
776
- for (var j = 0; j < keys.length; ++j) {
777
- var key = keys[j];
778
- var val = obj[key];
779
- if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
780
- queue.push({ obj: obj, prop: key });
781
- refs.push(val);
782
- }
783
- }
784
- }
785
-
786
- compactQueue(queue);
787
-
788
- return value;
789
- };
790
-
791
- var isRegExp = function isRegExp(obj) {
792
- return Object.prototype.toString.call(obj) === '[object RegExp]';
793
- };
794
-
795
- var isBuffer = function isBuffer(obj) {
796
- if (!obj || typeof obj !== 'object') {
797
- return false;
798
- }
799
-
800
- return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
801
- };
802
-
803
- var combine = function combine(a, b) {
804
- return [].concat(a, b);
805
- };
806
-
807
- var maybeMap = function maybeMap(val, fn) {
808
- if (isArray(val)) {
809
- var mapped = [];
810
- for (var i = 0; i < val.length; i += 1) {
811
- mapped.push(fn(val[i]));
812
- }
813
- return mapped;
814
- }
815
- return fn(val);
816
- };
817
-
818
- module.exports = {
819
- arrayToObject: arrayToObject,
820
- assign: assign,
821
- combine: combine,
822
- compact: compact,
823
- decode: decode,
824
- encode: encode,
825
- isBuffer: isBuffer,
826
- isRegExp: isRegExp,
827
- maybeMap: maybeMap,
828
- merge: merge
829
- };
830
-
831
- },{"./formats":1}]},{},[2])(2)
832
- });