@dragon708/docmind-markdown 1.2.1 → 1.2.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 (2230) hide show
  1. package/node_modules/@cognipeer/to-markdown/LICENSE +21 -0
  2. package/node_modules/@cognipeer/to-markdown/README.md +310 -0
  3. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.d.ts +15 -0
  4. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.d.ts.map +1 -0
  5. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.js +81 -0
  6. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.js.map +1 -0
  7. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.d.ts +7 -0
  8. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.d.ts.map +1 -0
  9. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.js +21 -0
  10. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.js.map +1 -0
  11. package/node_modules/@cognipeer/to-markdown/dist/converters/html.d.ts +13 -0
  12. package/node_modules/@cognipeer/to-markdown/dist/converters/html.d.ts.map +1 -0
  13. package/node_modules/@cognipeer/to-markdown/dist/converters/html.js +113 -0
  14. package/node_modules/@cognipeer/to-markdown/dist/converters/html.js.map +1 -0
  15. package/node_modules/@cognipeer/to-markdown/dist/converters/media.d.ts +15 -0
  16. package/node_modules/@cognipeer/to-markdown/dist/converters/media.d.ts.map +1 -0
  17. package/node_modules/@cognipeer/to-markdown/dist/converters/media.js +54 -0
  18. package/node_modules/@cognipeer/to-markdown/dist/converters/media.js.map +1 -0
  19. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.d.ts +7 -0
  20. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.d.ts.map +1 -0
  21. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.js +44 -0
  22. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.js.map +1 -0
  23. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.d.ts +7 -0
  24. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.d.ts.map +1 -0
  25. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.js +11 -0
  26. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.js.map +1 -0
  27. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.d.ts +13 -0
  28. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.d.ts.map +1 -0
  29. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.js +41 -0
  30. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.js.map +1 -0
  31. package/node_modules/@cognipeer/to-markdown/dist/converters/text.d.ts +21 -0
  32. package/node_modules/@cognipeer/to-markdown/dist/converters/text.d.ts.map +1 -0
  33. package/node_modules/@cognipeer/to-markdown/dist/converters/text.js +54 -0
  34. package/node_modules/@cognipeer/to-markdown/dist/converters/text.js.map +1 -0
  35. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.d.ts +7 -0
  36. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.d.ts.map +1 -0
  37. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.js +72 -0
  38. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.js.map +1 -0
  39. package/node_modules/@cognipeer/to-markdown/dist/index.cjs +1739 -0
  40. package/node_modules/@cognipeer/to-markdown/dist/index.cjs.map +1 -0
  41. package/node_modules/@cognipeer/to-markdown/dist/index.d.ts +46 -0
  42. package/node_modules/@cognipeer/to-markdown/dist/index.d.ts.map +1 -0
  43. package/node_modules/@cognipeer/to-markdown/dist/index.js +1733 -0
  44. package/node_modules/@cognipeer/to-markdown/dist/index.js.map +1 -0
  45. package/node_modules/@cognipeer/to-markdown/dist/types/index.d.ts +78 -0
  46. package/node_modules/@cognipeer/to-markdown/dist/types/index.d.ts.map +1 -0
  47. package/node_modules/@cognipeer/to-markdown/dist/types/index.js +27 -0
  48. package/node_modules/@cognipeer/to-markdown/dist/types/index.js.map +1 -0
  49. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.d.ts +12 -0
  50. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.d.ts.map +1 -0
  51. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.js +75 -0
  52. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.js.map +1 -0
  53. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.d.ts +13 -0
  54. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.d.ts.map +1 -0
  55. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.js +60 -0
  56. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.js.map +1 -0
  57. package/node_modules/@cognipeer/to-markdown/package.json +96 -0
  58. package/node_modules/@opendocsg/pdf2md/LICENSE +21 -0
  59. package/node_modules/@opendocsg/pdf2md/README.md +52 -0
  60. package/node_modules/@opendocsg/pdf2md/lib/models/Annotation.js +34 -0
  61. package/node_modules/@opendocsg/pdf2md/lib/models/HeadlineFinder.js +40 -0
  62. package/node_modules/@opendocsg/pdf2md/lib/models/LineConverter.js +156 -0
  63. package/node_modules/@opendocsg/pdf2md/lib/models/LineItem.js +29 -0
  64. package/node_modules/@opendocsg/pdf2md/lib/models/LineItemBlock.js +32 -0
  65. package/node_modules/@opendocsg/pdf2md/lib/models/Metadata.js +15 -0
  66. package/node_modules/@opendocsg/pdf2md/lib/models/Page.js +7 -0
  67. package/node_modules/@opendocsg/pdf2md/lib/models/PageItem.js +11 -0
  68. package/node_modules/@opendocsg/pdf2md/lib/models/ParseResult.js +8 -0
  69. package/node_modules/@opendocsg/pdf2md/lib/models/ParsedElements.js +15 -0
  70. package/node_modules/@opendocsg/pdf2md/lib/models/StashingStream.js +72 -0
  71. package/node_modules/@opendocsg/pdf2md/lib/models/TextItem.js +18 -0
  72. package/node_modules/@opendocsg/pdf2md/lib/models/TextItemLineGrouper.js +34 -0
  73. package/node_modules/@opendocsg/pdf2md/lib/models/Word.js +7 -0
  74. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/BlockType.js +176 -0
  75. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/WordFormat.js +23 -0
  76. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/WordType.js +29 -0
  77. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToLineItemBlockTransformation.js +29 -0
  78. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToLineItemTransformation.js +29 -0
  79. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToMarkdown.js +42 -0
  80. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToTextBlocks.js +27 -0
  81. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToTextItemTransformation.js +29 -0
  82. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/Transformation.js +30 -0
  83. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/CompactLines.js +79 -0
  84. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectHeaders.js +134 -0
  85. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectListItems.js +62 -0
  86. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectTOC.js +351 -0
  87. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/RemoveRepetitiveElements.js +97 -0
  88. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/VerticalToHorizontal.js +75 -0
  89. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/DetectCodeQuoteBlocks.js +51 -0
  90. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/DetectListLevels.js +59 -0
  91. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/GatherBlocks.js +87 -0
  92. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/text-item/CalculateGlobalStats.js +113 -0
  93. package/node_modules/@opendocsg/pdf2md/lib/pdf2md-cli.js +66 -0
  94. package/node_modules/@opendocsg/pdf2md/lib/pdf2md.js +43 -0
  95. package/node_modules/@opendocsg/pdf2md/lib/util/cli.js +43 -0
  96. package/node_modules/@opendocsg/pdf2md/lib/util/page-item-functions.js +34 -0
  97. package/node_modules/@opendocsg/pdf2md/lib/util/page-number-functions.js +116 -0
  98. package/node_modules/@opendocsg/pdf2md/lib/util/pdf.js +112 -0
  99. package/node_modules/@opendocsg/pdf2md/lib/util/string-functions.js +116 -0
  100. package/node_modules/@opendocsg/pdf2md/lib/util/transformations.js +46 -0
  101. package/node_modules/@opendocsg/pdf2md/package.json +60 -0
  102. package/node_modules/@opendocsg/pdf2md/test/convert.spec.js +15 -0
  103. package/node_modules/@opendocsg/pdf2md/test/models/HeadlineFinder.spec.js +92 -0
  104. package/node_modules/@opendocsg/pdf2md/test/models/StashingStream.spec.js +95 -0
  105. package/node_modules/@opendocsg/pdf2md/test/util/cli.spec.js +84 -0
  106. package/node_modules/@opendocsg/pdf2md/test/util/page-number-functions.spec.js +85 -0
  107. package/node_modules/@opendocsg/pdf2md/test/util/string-functions.spec.js +211 -0
  108. package/node_modules/@opendocsg/pdf2md/types/pdf2md.d.ts +49 -0
  109. package/node_modules/adler-32/LICENSE +201 -0
  110. package/node_modules/adler-32/README.md +140 -0
  111. package/node_modules/adler-32/adler32.js +92 -0
  112. package/node_modules/adler-32/package.json +35 -0
  113. package/node_modules/adler-32/types/index.d.ts +14 -0
  114. package/node_modules/adler-32/types/tsconfig.json +15 -0
  115. package/node_modules/adler-32/types/tslint.json +14 -0
  116. package/node_modules/adm-zip/LICENSE +21 -0
  117. package/node_modules/adm-zip/README.md +87 -0
  118. package/node_modules/adm-zip/adm-zip.js +949 -0
  119. package/node_modules/adm-zip/headers/entryHeader.js +377 -0
  120. package/node_modules/adm-zip/headers/index.js +2 -0
  121. package/node_modules/adm-zip/headers/mainHeader.js +130 -0
  122. package/node_modules/adm-zip/methods/deflater.js +33 -0
  123. package/node_modules/adm-zip/methods/index.js +3 -0
  124. package/node_modules/adm-zip/methods/inflater.js +34 -0
  125. package/node_modules/adm-zip/methods/zipcrypto.js +175 -0
  126. package/node_modules/adm-zip/package.json +54 -0
  127. package/node_modules/adm-zip/util/constants.js +142 -0
  128. package/node_modules/adm-zip/util/decoder.js +5 -0
  129. package/node_modules/adm-zip/util/errors.js +63 -0
  130. package/node_modules/adm-zip/util/fattr.js +76 -0
  131. package/node_modules/adm-zip/util/index.js +5 -0
  132. package/node_modules/adm-zip/util/utils.js +339 -0
  133. package/node_modules/adm-zip/zipEntry.js +405 -0
  134. package/node_modules/adm-zip/zipFile.js +446 -0
  135. package/node_modules/boolbase/README.md +10 -0
  136. package/node_modules/boolbase/index.js +8 -0
  137. package/node_modules/boolbase/package.json +23 -0
  138. package/node_modules/cfb/LICENSE +201 -0
  139. package/node_modules/cfb/README.md +161 -0
  140. package/node_modules/cfb/cfb.js +1979 -0
  141. package/node_modules/cfb/dist/LICENSE +201 -0
  142. package/node_modules/cfb/dist/cfb.js +1979 -0
  143. package/node_modules/cfb/dist/cfb.min.js +3 -0
  144. package/node_modules/cfb/dist/cfb.min.map +1 -0
  145. package/node_modules/cfb/dist/xlscfb.js +1856 -0
  146. package/node_modules/cfb/package.json +68 -0
  147. package/node_modules/cfb/types/index.d.ts +128 -0
  148. package/node_modules/cfb/types/tsconfig.json +15 -0
  149. package/node_modules/cfb/xlscfb.flow.js +1856 -0
  150. package/node_modules/cheerio/LICENSE +21 -0
  151. package/node_modules/cheerio/Readme.md +229 -0
  152. package/node_modules/cheerio/dist/browser/api/attributes.d.ts +385 -0
  153. package/node_modules/cheerio/dist/browser/api/attributes.d.ts.map +1 -0
  154. package/node_modules/cheerio/dist/browser/api/attributes.js +636 -0
  155. package/node_modules/cheerio/dist/browser/api/attributes.js.map +1 -0
  156. package/node_modules/cheerio/dist/browser/api/css.d.ts +42 -0
  157. package/node_modules/cheerio/dist/browser/api/css.d.ts.map +1 -0
  158. package/node_modules/cheerio/dist/browser/api/css.js +116 -0
  159. package/node_modules/cheerio/dist/browser/api/css.js.map +1 -0
  160. package/node_modules/cheerio/dist/browser/api/extract.d.ts +27 -0
  161. package/node_modules/cheerio/dist/browser/api/extract.d.ts.map +1 -0
  162. package/node_modules/cheerio/dist/browser/api/extract.js +42 -0
  163. package/node_modules/cheerio/dist/browser/api/extract.js.map +1 -0
  164. package/node_modules/cheerio/dist/browser/api/forms.d.ts +36 -0
  165. package/node_modules/cheerio/dist/browser/api/forms.d.ts.map +1 -0
  166. package/node_modules/cheerio/dist/browser/api/forms.js +81 -0
  167. package/node_modules/cheerio/dist/browser/api/forms.js.map +1 -0
  168. package/node_modules/cheerio/dist/browser/api/manipulation.d.ts +528 -0
  169. package/node_modules/cheerio/dist/browser/api/manipulation.d.ts.map +1 -0
  170. package/node_modules/cheerio/dist/browser/api/manipulation.js +831 -0
  171. package/node_modules/cheerio/dist/browser/api/manipulation.js.map +1 -0
  172. package/node_modules/cheerio/dist/browser/api/traversing.d.ts +657 -0
  173. package/node_modules/cheerio/dist/browser/api/traversing.d.ts.map +1 -0
  174. package/node_modules/cheerio/dist/browser/api/traversing.js +857 -0
  175. package/node_modules/cheerio/dist/browser/api/traversing.js.map +1 -0
  176. package/node_modules/cheerio/dist/browser/cheerio.d.ts +85 -0
  177. package/node_modules/cheerio/dist/browser/cheerio.d.ts.map +1 -0
  178. package/node_modules/cheerio/dist/browser/cheerio.js +58 -0
  179. package/node_modules/cheerio/dist/browser/cheerio.js.map +1 -0
  180. package/node_modules/cheerio/dist/browser/index-browser.d.mts.map +1 -0
  181. package/node_modules/cheerio/dist/browser/index-browser.mjs.map +1 -0
  182. package/node_modules/cheerio/dist/browser/index.d.ts +5 -0
  183. package/node_modules/cheerio/dist/browser/index.js +3 -0
  184. package/node_modules/cheerio/dist/browser/load-parse.d.ts +20 -0
  185. package/node_modules/cheerio/dist/browser/load-parse.d.ts.map +1 -0
  186. package/node_modules/cheerio/dist/browser/load-parse.js +28 -0
  187. package/node_modules/cheerio/dist/browser/load-parse.js.map +1 -0
  188. package/node_modules/cheerio/dist/browser/load.d.ts +91 -0
  189. package/node_modules/cheerio/dist/browser/load.d.ts.map +1 -0
  190. package/node_modules/cheerio/dist/browser/load.js +129 -0
  191. package/node_modules/cheerio/dist/browser/load.js.map +1 -0
  192. package/node_modules/cheerio/dist/browser/options.d.ts +98 -0
  193. package/node_modules/cheerio/dist/browser/options.d.ts.map +1 -0
  194. package/node_modules/cheerio/dist/browser/options.js +34 -0
  195. package/node_modules/cheerio/dist/browser/options.js.map +1 -0
  196. package/node_modules/cheerio/dist/browser/package.json +3 -0
  197. package/node_modules/cheerio/dist/browser/parse.d.ts +18 -0
  198. package/node_modules/cheerio/dist/browser/parse.d.ts.map +1 -0
  199. package/node_modules/cheerio/dist/browser/parse.js +73 -0
  200. package/node_modules/cheerio/dist/browser/parse.js.map +1 -0
  201. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts +20 -0
  202. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts.map +1 -0
  203. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js +50 -0
  204. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js.map +1 -0
  205. package/node_modules/cheerio/dist/browser/slim.d.ts +25 -0
  206. package/node_modules/cheerio/dist/browser/slim.d.ts.map +1 -0
  207. package/node_modules/cheerio/dist/browser/slim.js +22 -0
  208. package/node_modules/cheerio/dist/browser/slim.js.map +1 -0
  209. package/node_modules/cheerio/dist/browser/static.d.ts +112 -0
  210. package/node_modules/cheerio/dist/browser/static.d.ts.map +1 -0
  211. package/node_modules/cheerio/dist/browser/static.js +204 -0
  212. package/node_modules/cheerio/dist/browser/static.js.map +1 -0
  213. package/node_modules/cheerio/dist/browser/types.d.ts +21 -0
  214. package/node_modules/cheerio/dist/browser/types.d.ts.map +1 -0
  215. package/node_modules/cheerio/dist/browser/types.js +3 -0
  216. package/node_modules/cheerio/dist/browser/types.js.map +1 -0
  217. package/node_modules/cheerio/dist/browser/utils.d.ts +55 -0
  218. package/node_modules/cheerio/dist/browser/utils.d.ts.map +1 -0
  219. package/node_modules/cheerio/dist/browser/utils.js +84 -0
  220. package/node_modules/cheerio/dist/browser/utils.js.map +1 -0
  221. package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts +385 -0
  222. package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts.map +1 -0
  223. package/node_modules/cheerio/dist/commonjs/api/attributes.js +647 -0
  224. package/node_modules/cheerio/dist/commonjs/api/attributes.js.map +1 -0
  225. package/node_modules/cheerio/dist/commonjs/api/css.d.ts +42 -0
  226. package/node_modules/cheerio/dist/commonjs/api/css.d.ts.map +1 -0
  227. package/node_modules/cheerio/dist/commonjs/api/css.js +119 -0
  228. package/node_modules/cheerio/dist/commonjs/api/css.js.map +1 -0
  229. package/node_modules/cheerio/dist/commonjs/api/extract.d.ts +27 -0
  230. package/node_modules/cheerio/dist/commonjs/api/extract.d.ts.map +1 -0
  231. package/node_modules/cheerio/dist/commonjs/api/extract.js +45 -0
  232. package/node_modules/cheerio/dist/commonjs/api/extract.js.map +1 -0
  233. package/node_modules/cheerio/dist/commonjs/api/forms.d.ts +36 -0
  234. package/node_modules/cheerio/dist/commonjs/api/forms.d.ts.map +1 -0
  235. package/node_modules/cheerio/dist/commonjs/api/forms.js +85 -0
  236. package/node_modules/cheerio/dist/commonjs/api/forms.js.map +1 -0
  237. package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts +528 -0
  238. package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts.map +1 -0
  239. package/node_modules/cheerio/dist/commonjs/api/manipulation.js +850 -0
  240. package/node_modules/cheerio/dist/commonjs/api/manipulation.js.map +1 -0
  241. package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts +657 -0
  242. package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts.map +1 -0
  243. package/node_modules/cheerio/dist/commonjs/api/traversing.js +914 -0
  244. package/node_modules/cheerio/dist/commonjs/api/traversing.js.map +1 -0
  245. package/node_modules/cheerio/dist/commonjs/cheerio.d.ts +85 -0
  246. package/node_modules/cheerio/dist/commonjs/cheerio.d.ts.map +1 -0
  247. package/node_modules/cheerio/dist/commonjs/cheerio.js +95 -0
  248. package/node_modules/cheerio/dist/commonjs/cheerio.js.map +1 -0
  249. package/node_modules/cheerio/dist/commonjs/index.d.ts +104 -0
  250. package/node_modules/cheerio/dist/commonjs/index.d.ts.map +1 -0
  251. package/node_modules/cheerio/dist/commonjs/index.js +250 -0
  252. package/node_modules/cheerio/dist/commonjs/index.js.map +1 -0
  253. package/node_modules/cheerio/dist/commonjs/load-parse.d.ts +20 -0
  254. package/node_modules/cheerio/dist/commonjs/load-parse.d.ts.map +1 -0
  255. package/node_modules/cheerio/dist/commonjs/load-parse.js +34 -0
  256. package/node_modules/cheerio/dist/commonjs/load-parse.js.map +1 -0
  257. package/node_modules/cheerio/dist/commonjs/load.d.ts +91 -0
  258. package/node_modules/cheerio/dist/commonjs/load.d.ts.map +1 -0
  259. package/node_modules/cheerio/dist/commonjs/load.js +165 -0
  260. package/node_modules/cheerio/dist/commonjs/load.js.map +1 -0
  261. package/node_modules/cheerio/dist/commonjs/options.d.ts +98 -0
  262. package/node_modules/cheerio/dist/commonjs/options.d.ts.map +1 -0
  263. package/node_modules/cheerio/dist/commonjs/options.js +37 -0
  264. package/node_modules/cheerio/dist/commonjs/options.js.map +1 -0
  265. package/node_modules/cheerio/dist/commonjs/package.json +3 -0
  266. package/node_modules/cheerio/dist/commonjs/parse.d.ts +18 -0
  267. package/node_modules/cheerio/dist/commonjs/parse.d.ts.map +1 -0
  268. package/node_modules/cheerio/dist/commonjs/parse.js +77 -0
  269. package/node_modules/cheerio/dist/commonjs/parse.js.map +1 -0
  270. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts +20 -0
  271. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts.map +1 -0
  272. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js +54 -0
  273. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js.map +1 -0
  274. package/node_modules/cheerio/dist/commonjs/slim.d.ts +25 -0
  275. package/node_modules/cheerio/dist/commonjs/slim.d.ts.map +1 -0
  276. package/node_modules/cheerio/dist/commonjs/slim.js +30 -0
  277. package/node_modules/cheerio/dist/commonjs/slim.js.map +1 -0
  278. package/node_modules/cheerio/dist/commonjs/static.d.ts +112 -0
  279. package/node_modules/cheerio/dist/commonjs/static.d.ts.map +1 -0
  280. package/node_modules/cheerio/dist/commonjs/static.js +214 -0
  281. package/node_modules/cheerio/dist/commonjs/static.js.map +1 -0
  282. package/node_modules/cheerio/dist/commonjs/types.d.ts +21 -0
  283. package/node_modules/cheerio/dist/commonjs/types.d.ts.map +1 -0
  284. package/node_modules/cheerio/dist/commonjs/types.js +4 -0
  285. package/node_modules/cheerio/dist/commonjs/types.js.map +1 -0
  286. package/node_modules/cheerio/dist/commonjs/utils.d.ts +55 -0
  287. package/node_modules/cheerio/dist/commonjs/utils.d.ts.map +1 -0
  288. package/node_modules/cheerio/dist/commonjs/utils.js +91 -0
  289. package/node_modules/cheerio/dist/commonjs/utils.js.map +1 -0
  290. package/node_modules/cheerio/dist/esm/api/attributes.d.ts +385 -0
  291. package/node_modules/cheerio/dist/esm/api/attributes.d.ts.map +1 -0
  292. package/node_modules/cheerio/dist/esm/api/attributes.js +636 -0
  293. package/node_modules/cheerio/dist/esm/api/attributes.js.map +1 -0
  294. package/node_modules/cheerio/dist/esm/api/css.d.ts +42 -0
  295. package/node_modules/cheerio/dist/esm/api/css.d.ts.map +1 -0
  296. package/node_modules/cheerio/dist/esm/api/css.js +116 -0
  297. package/node_modules/cheerio/dist/esm/api/css.js.map +1 -0
  298. package/node_modules/cheerio/dist/esm/api/extract.d.ts +27 -0
  299. package/node_modules/cheerio/dist/esm/api/extract.d.ts.map +1 -0
  300. package/node_modules/cheerio/dist/esm/api/extract.js +42 -0
  301. package/node_modules/cheerio/dist/esm/api/extract.js.map +1 -0
  302. package/node_modules/cheerio/dist/esm/api/forms.d.ts +36 -0
  303. package/node_modules/cheerio/dist/esm/api/forms.d.ts.map +1 -0
  304. package/node_modules/cheerio/dist/esm/api/forms.js +81 -0
  305. package/node_modules/cheerio/dist/esm/api/forms.js.map +1 -0
  306. package/node_modules/cheerio/dist/esm/api/manipulation.d.ts +528 -0
  307. package/node_modules/cheerio/dist/esm/api/manipulation.d.ts.map +1 -0
  308. package/node_modules/cheerio/dist/esm/api/manipulation.js +831 -0
  309. package/node_modules/cheerio/dist/esm/api/manipulation.js.map +1 -0
  310. package/node_modules/cheerio/dist/esm/api/traversing.d.ts +657 -0
  311. package/node_modules/cheerio/dist/esm/api/traversing.d.ts.map +1 -0
  312. package/node_modules/cheerio/dist/esm/api/traversing.js +857 -0
  313. package/node_modules/cheerio/dist/esm/api/traversing.js.map +1 -0
  314. package/node_modules/cheerio/dist/esm/cheerio.d.ts +85 -0
  315. package/node_modules/cheerio/dist/esm/cheerio.d.ts.map +1 -0
  316. package/node_modules/cheerio/dist/esm/cheerio.js +58 -0
  317. package/node_modules/cheerio/dist/esm/cheerio.js.map +1 -0
  318. package/node_modules/cheerio/dist/esm/index.d.ts +104 -0
  319. package/node_modules/cheerio/dist/esm/index.d.ts.map +1 -0
  320. package/node_modules/cheerio/dist/esm/index.js +202 -0
  321. package/node_modules/cheerio/dist/esm/index.js.map +1 -0
  322. package/node_modules/cheerio/dist/esm/load-parse.d.ts +20 -0
  323. package/node_modules/cheerio/dist/esm/load-parse.d.ts.map +1 -0
  324. package/node_modules/cheerio/dist/esm/load-parse.js +28 -0
  325. package/node_modules/cheerio/dist/esm/load-parse.js.map +1 -0
  326. package/node_modules/cheerio/dist/esm/load.d.ts +91 -0
  327. package/node_modules/cheerio/dist/esm/load.d.ts.map +1 -0
  328. package/node_modules/cheerio/dist/esm/load.js +129 -0
  329. package/node_modules/cheerio/dist/esm/load.js.map +1 -0
  330. package/node_modules/cheerio/dist/esm/options.d.ts +98 -0
  331. package/node_modules/cheerio/dist/esm/options.d.ts.map +1 -0
  332. package/node_modules/cheerio/dist/esm/options.js +34 -0
  333. package/node_modules/cheerio/dist/esm/options.js.map +1 -0
  334. package/node_modules/cheerio/dist/esm/package.json +3 -0
  335. package/node_modules/cheerio/dist/esm/parse.d.ts +18 -0
  336. package/node_modules/cheerio/dist/esm/parse.d.ts.map +1 -0
  337. package/node_modules/cheerio/dist/esm/parse.js +73 -0
  338. package/node_modules/cheerio/dist/esm/parse.js.map +1 -0
  339. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts +20 -0
  340. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts.map +1 -0
  341. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js +50 -0
  342. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js.map +1 -0
  343. package/node_modules/cheerio/dist/esm/slim.d.ts +25 -0
  344. package/node_modules/cheerio/dist/esm/slim.d.ts.map +1 -0
  345. package/node_modules/cheerio/dist/esm/slim.js +22 -0
  346. package/node_modules/cheerio/dist/esm/slim.js.map +1 -0
  347. package/node_modules/cheerio/dist/esm/static.d.ts +112 -0
  348. package/node_modules/cheerio/dist/esm/static.d.ts.map +1 -0
  349. package/node_modules/cheerio/dist/esm/static.js +204 -0
  350. package/node_modules/cheerio/dist/esm/static.js.map +1 -0
  351. package/node_modules/cheerio/dist/esm/types.d.ts +21 -0
  352. package/node_modules/cheerio/dist/esm/types.d.ts.map +1 -0
  353. package/node_modules/cheerio/dist/esm/types.js +3 -0
  354. package/node_modules/cheerio/dist/esm/types.js.map +1 -0
  355. package/node_modules/cheerio/dist/esm/utils.d.ts +55 -0
  356. package/node_modules/cheerio/dist/esm/utils.d.ts.map +1 -0
  357. package/node_modules/cheerio/dist/esm/utils.js +84 -0
  358. package/node_modules/cheerio/dist/esm/utils.js.map +1 -0
  359. package/node_modules/cheerio/package.json +182 -0
  360. package/node_modules/cheerio/src/api/attributes.ts +1145 -0
  361. package/node_modules/cheerio/src/api/css.ts +224 -0
  362. package/node_modules/cheerio/src/api/extract.ts +92 -0
  363. package/node_modules/cheerio/src/api/forms.ts +103 -0
  364. package/node_modules/cheerio/src/api/manipulation.ts +1115 -0
  365. package/node_modules/cheerio/src/api/traversing.ts +1175 -0
  366. package/node_modules/cheerio/src/cheerio.ts +143 -0
  367. package/node_modules/cheerio/src/index-browser.mts +10 -0
  368. package/node_modules/cheerio/src/index.ts +294 -0
  369. package/node_modules/cheerio/src/load-parse.ts +39 -0
  370. package/node_modules/cheerio/src/load.ts +282 -0
  371. package/node_modules/cheerio/src/options.ts +136 -0
  372. package/node_modules/cheerio/src/parse.ts +105 -0
  373. package/node_modules/cheerio/src/parsers/parse5-adapter.ts +66 -0
  374. package/node_modules/cheerio/src/slim.ts +33 -0
  375. package/node_modules/cheerio/src/static.ts +312 -0
  376. package/node_modules/cheerio/src/types.ts +58 -0
  377. package/node_modules/cheerio/src/utils.ts +99 -0
  378. package/node_modules/cheerio-select/LICENSE +11 -0
  379. package/node_modules/cheerio-select/README.md +18 -0
  380. package/node_modules/cheerio-select/lib/esm/helpers.d.ts +5 -0
  381. package/node_modules/cheerio-select/lib/esm/helpers.d.ts.map +1 -0
  382. package/node_modules/cheerio-select/lib/esm/helpers.js +20 -0
  383. package/node_modules/cheerio-select/lib/esm/helpers.js.map +1 -0
  384. package/node_modules/cheerio-select/lib/esm/index.d.ts +12 -0
  385. package/node_modules/cheerio-select/lib/esm/index.d.ts.map +1 -0
  386. package/node_modules/cheerio-select/lib/esm/index.js +241 -0
  387. package/node_modules/cheerio-select/lib/esm/index.js.map +1 -0
  388. package/node_modules/cheerio-select/lib/esm/package.json +1 -0
  389. package/node_modules/cheerio-select/lib/esm/positionals.d.ts +10 -0
  390. package/node_modules/cheerio-select/lib/esm/positionals.d.ts.map +1 -0
  391. package/node_modules/cheerio-select/lib/esm/positionals.js +47 -0
  392. package/node_modules/cheerio-select/lib/esm/positionals.js.map +1 -0
  393. package/node_modules/cheerio-select/lib/helpers.d.ts +5 -0
  394. package/node_modules/cheerio-select/lib/helpers.d.ts.map +1 -0
  395. package/node_modules/cheerio-select/lib/helpers.js +26 -0
  396. package/node_modules/cheerio-select/lib/helpers.js.map +1 -0
  397. package/node_modules/cheerio-select/lib/index.d.ts +12 -0
  398. package/node_modules/cheerio-select/lib/index.d.ts.map +1 -0
  399. package/node_modules/cheerio-select/lib/index.js +302 -0
  400. package/node_modules/cheerio-select/lib/index.js.map +1 -0
  401. package/node_modules/cheerio-select/lib/positionals.d.ts +10 -0
  402. package/node_modules/cheerio-select/lib/positionals.d.ts.map +1 -0
  403. package/node_modules/cheerio-select/lib/positionals.js +52 -0
  404. package/node_modules/cheerio-select/lib/positionals.js.map +1 -0
  405. package/node_modules/cheerio-select/package.json +76 -0
  406. package/node_modules/codepage/LICENSE +201 -0
  407. package/node_modules/codepage/README.md +350 -0
  408. package/node_modules/codepage/bits/10000.js +2 -0
  409. package/node_modules/codepage/bits/10001.js +115 -0
  410. package/node_modules/codepage/bits/10002.js +253 -0
  411. package/node_modules/codepage/bits/10003.js +183 -0
  412. package/node_modules/codepage/bits/10004.js +2 -0
  413. package/node_modules/codepage/bits/10005.js +2 -0
  414. package/node_modules/codepage/bits/10006.js +2 -0
  415. package/node_modules/codepage/bits/10007.js +2 -0
  416. package/node_modules/codepage/bits/10008.js +167 -0
  417. package/node_modules/codepage/bits/10010.js +2 -0
  418. package/node_modules/codepage/bits/10017.js +2 -0
  419. package/node_modules/codepage/bits/10021.js +2 -0
  420. package/node_modules/codepage/bits/10029.js +2 -0
  421. package/node_modules/codepage/bits/10079.js +2 -0
  422. package/node_modules/codepage/bits/10081.js +2 -0
  423. package/node_modules/codepage/bits/10082.js +2 -0
  424. package/node_modules/codepage/bits/1010.js +2 -0
  425. package/node_modules/codepage/bits/1026.js +2 -0
  426. package/node_modules/codepage/bits/1047.js +2 -0
  427. package/node_modules/codepage/bits/1132.js +2 -0
  428. package/node_modules/codepage/bits/1140.js +2 -0
  429. package/node_modules/codepage/bits/1141.js +2 -0
  430. package/node_modules/codepage/bits/1142.js +2 -0
  431. package/node_modules/codepage/bits/1143.js +2 -0
  432. package/node_modules/codepage/bits/1144.js +2 -0
  433. package/node_modules/codepage/bits/1145.js +2 -0
  434. package/node_modules/codepage/bits/1146.js +2 -0
  435. package/node_modules/codepage/bits/1147.js +2 -0
  436. package/node_modules/codepage/bits/1148.js +2 -0
  437. package/node_modules/codepage/bits/1149.js +2 -0
  438. package/node_modules/codepage/bits/1250.js +2 -0
  439. package/node_modules/codepage/bits/1251.js +2 -0
  440. package/node_modules/codepage/bits/1252.js +2 -0
  441. package/node_modules/codepage/bits/1253.js +2 -0
  442. package/node_modules/codepage/bits/1254.js +2 -0
  443. package/node_modules/codepage/bits/1255.js +2 -0
  444. package/node_modules/codepage/bits/1256.js +2 -0
  445. package/node_modules/codepage/bits/1257.js +2 -0
  446. package/node_modules/codepage/bits/1258.js +2 -0
  447. package/node_modules/codepage/bits/1361.js +231 -0
  448. package/node_modules/codepage/bits/20000.js +193 -0
  449. package/node_modules/codepage/bits/20001.js +217 -0
  450. package/node_modules/codepage/bits/20002.js +167 -0
  451. package/node_modules/codepage/bits/20003.js +213 -0
  452. package/node_modules/codepage/bits/20004.js +193 -0
  453. package/node_modules/codepage/bits/20005.js +223 -0
  454. package/node_modules/codepage/bits/20105.js +2 -0
  455. package/node_modules/codepage/bits/20106.js +2 -0
  456. package/node_modules/codepage/bits/20107.js +2 -0
  457. package/node_modules/codepage/bits/20108.js +2 -0
  458. package/node_modules/codepage/bits/20261.js +31 -0
  459. package/node_modules/codepage/bits/20269.js +2 -0
  460. package/node_modules/codepage/bits/20273.js +2 -0
  461. package/node_modules/codepage/bits/20277.js +2 -0
  462. package/node_modules/codepage/bits/20278.js +2 -0
  463. package/node_modules/codepage/bits/20280.js +2 -0
  464. package/node_modules/codepage/bits/20284.js +2 -0
  465. package/node_modules/codepage/bits/20285.js +2 -0
  466. package/node_modules/codepage/bits/20290.js +2 -0
  467. package/node_modules/codepage/bits/20297.js +2 -0
  468. package/node_modules/codepage/bits/20420.js +2 -0
  469. package/node_modules/codepage/bits/20423.js +2 -0
  470. package/node_modules/codepage/bits/20424.js +2 -0
  471. package/node_modules/codepage/bits/20833.js +2 -0
  472. package/node_modules/codepage/bits/20838.js +2 -0
  473. package/node_modules/codepage/bits/20866.js +2 -0
  474. package/node_modules/codepage/bits/20871.js +2 -0
  475. package/node_modules/codepage/bits/20880.js +2 -0
  476. package/node_modules/codepage/bits/20905.js +2 -0
  477. package/node_modules/codepage/bits/20924.js +2 -0
  478. package/node_modules/codepage/bits/20932.js +189 -0
  479. package/node_modules/codepage/bits/20936.js +167 -0
  480. package/node_modules/codepage/bits/20949.js +183 -0
  481. package/node_modules/codepage/bits/21025.js +2 -0
  482. package/node_modules/codepage/bits/21027.js +2 -0
  483. package/node_modules/codepage/bits/21866.js +2 -0
  484. package/node_modules/codepage/bits/28591.js +2 -0
  485. package/node_modules/codepage/bits/28592.js +2 -0
  486. package/node_modules/codepage/bits/28593.js +2 -0
  487. package/node_modules/codepage/bits/28594.js +2 -0
  488. package/node_modules/codepage/bits/28595.js +2 -0
  489. package/node_modules/codepage/bits/28596.js +2 -0
  490. package/node_modules/codepage/bits/28597.js +2 -0
  491. package/node_modules/codepage/bits/28598.js +2 -0
  492. package/node_modules/codepage/bits/28599.js +2 -0
  493. package/node_modules/codepage/bits/28600.js +2 -0
  494. package/node_modules/codepage/bits/28601.js +2 -0
  495. package/node_modules/codepage/bits/28603.js +2 -0
  496. package/node_modules/codepage/bits/28604.js +2 -0
  497. package/node_modules/codepage/bits/28605.js +2 -0
  498. package/node_modules/codepage/bits/28606.js +2 -0
  499. package/node_modules/codepage/bits/29001.js +2 -0
  500. package/node_modules/codepage/bits/37.js +2 -0
  501. package/node_modules/codepage/bits/38598.js +2 -0
  502. package/node_modules/codepage/bits/437.js +2 -0
  503. package/node_modules/codepage/bits/47451.js +2 -0
  504. package/node_modules/codepage/bits/500.js +2 -0
  505. package/node_modules/codepage/bits/50220.js +395 -0
  506. package/node_modules/codepage/bits/50221.js +395 -0
  507. package/node_modules/codepage/bits/50222.js +395 -0
  508. package/node_modules/codepage/bits/50225.js +259 -0
  509. package/node_modules/codepage/bits/50227.js +257 -0
  510. package/node_modules/codepage/bits/51932.js +171 -0
  511. package/node_modules/codepage/bits/51936.js +257 -0
  512. package/node_modules/codepage/bits/51949.js +183 -0
  513. package/node_modules/codepage/bits/52936.js +7 -0
  514. package/node_modules/codepage/bits/54936.js +257 -0
  515. package/node_modules/codepage/bits/57002.js +39 -0
  516. package/node_modules/codepage/bits/57003.js +23 -0
  517. package/node_modules/codepage/bits/57004.js +7 -0
  518. package/node_modules/codepage/bits/57005.js +15 -0
  519. package/node_modules/codepage/bits/57006.js +23 -0
  520. package/node_modules/codepage/bits/57007.js +21 -0
  521. package/node_modules/codepage/bits/57008.js +17 -0
  522. package/node_modules/codepage/bits/57009.js +13 -0
  523. package/node_modules/codepage/bits/57010.js +15 -0
  524. package/node_modules/codepage/bits/57011.js +17 -0
  525. package/node_modules/codepage/bits/620.js +2 -0
  526. package/node_modules/codepage/bits/708.js +2 -0
  527. package/node_modules/codepage/bits/720.js +2 -0
  528. package/node_modules/codepage/bits/737.js +2 -0
  529. package/node_modules/codepage/bits/775.js +2 -0
  530. package/node_modules/codepage/bits/808.js +2 -0
  531. package/node_modules/codepage/bits/850.js +2 -0
  532. package/node_modules/codepage/bits/852.js +2 -0
  533. package/node_modules/codepage/bits/855.js +2 -0
  534. package/node_modules/codepage/bits/857.js +2 -0
  535. package/node_modules/codepage/bits/858.js +2 -0
  536. package/node_modules/codepage/bits/860.js +2 -0
  537. package/node_modules/codepage/bits/861.js +2 -0
  538. package/node_modules/codepage/bits/862.js +2 -0
  539. package/node_modules/codepage/bits/863.js +2 -0
  540. package/node_modules/codepage/bits/864.js +2 -0
  541. package/node_modules/codepage/bits/865.js +2 -0
  542. package/node_modules/codepage/bits/866.js +2 -0
  543. package/node_modules/codepage/bits/869.js +2 -0
  544. package/node_modules/codepage/bits/870.js +2 -0
  545. package/node_modules/codepage/bits/872.js +2 -0
  546. package/node_modules/codepage/bits/874.js +2 -0
  547. package/node_modules/codepage/bits/875.js +2 -0
  548. package/node_modules/codepage/bits/895.js +2 -0
  549. package/node_modules/codepage/bits/932.js +95 -0
  550. package/node_modules/codepage/bits/936.js +257 -0
  551. package/node_modules/codepage/bits/949.js +253 -0
  552. package/node_modules/codepage/bits/950.js +179 -0
  553. package/node_modules/codepage/cptable.js +4651 -0
  554. package/node_modules/codepage/cputils.js +528 -0
  555. package/node_modules/codepage/dist/cpexcel.full.js +1506 -0
  556. package/node_modules/codepage/dist/sbcs.full.js +639 -0
  557. package/node_modules/codepage/package.json +72 -0
  558. package/node_modules/codepage/types/index.d.ts +39 -0
  559. package/node_modules/codepage/types/tsconfig.json +15 -0
  560. package/node_modules/codepage/types/tslint.json +11 -0
  561. package/node_modules/crc-32/LICENSE +201 -0
  562. package/node_modules/crc-32/README.md +200 -0
  563. package/node_modules/crc-32/bin/crc32.njs +105 -0
  564. package/node_modules/crc-32/crc32.js +115 -0
  565. package/node_modules/crc-32/crc32c.js +115 -0
  566. package/node_modules/crc-32/package.json +43 -0
  567. package/node_modules/crc-32/types/index.d.ts +14 -0
  568. package/node_modules/crc-32/types/tsconfig.json +14 -0
  569. package/node_modules/crc-32/types/tslint.json +11 -0
  570. package/node_modules/css-select/LICENSE +11 -0
  571. package/node_modules/css-select/README.md +264 -0
  572. package/node_modules/css-select/lib/attributes.d.ts +7 -0
  573. package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
  574. package/node_modules/css-select/lib/attributes.js +236 -0
  575. package/node_modules/css-select/lib/attributes.js.map +1 -0
  576. package/node_modules/css-select/lib/compile.d.ts +13 -0
  577. package/node_modules/css-select/lib/compile.d.ts.map +1 -0
  578. package/node_modules/css-select/lib/compile.js +151 -0
  579. package/node_modules/css-select/lib/compile.js.map +1 -0
  580. package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
  581. package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
  582. package/node_modules/css-select/lib/esm/attributes.js +222 -0
  583. package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
  584. package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
  585. package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
  586. package/node_modules/css-select/lib/esm/compile.js +115 -0
  587. package/node_modules/css-select/lib/esm/compile.js.map +1 -0
  588. package/node_modules/css-select/lib/esm/general.d.ts +3 -0
  589. package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
  590. package/node_modules/css-select/lib/esm/general.js +144 -0
  591. package/node_modules/css-select/lib/esm/general.js.map +1 -0
  592. package/node_modules/css-select/lib/esm/helpers/cache.d.ts +12 -0
  593. package/node_modules/css-select/lib/esm/helpers/cache.d.ts.map +1 -0
  594. package/node_modules/css-select/lib/esm/helpers/cache.js +41 -0
  595. package/node_modules/css-select/lib/esm/helpers/cache.js.map +1 -0
  596. package/node_modules/css-select/lib/esm/helpers/querying.d.ts +24 -0
  597. package/node_modules/css-select/lib/esm/helpers/querying.d.ts.map +1 -0
  598. package/node_modules/css-select/lib/esm/helpers/querying.js +105 -0
  599. package/node_modules/css-select/lib/esm/helpers/querying.js.map +1 -0
  600. package/node_modules/css-select/lib/esm/helpers/selectors.d.ts +20 -0
  601. package/node_modules/css-select/lib/esm/helpers/selectors.d.ts.map +1 -0
  602. package/node_modules/css-select/lib/esm/helpers/selectors.js +103 -0
  603. package/node_modules/css-select/lib/esm/helpers/selectors.js.map +1 -0
  604. package/node_modules/css-select/lib/esm/index.d.ts +50 -0
  605. package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
  606. package/node_modules/css-select/lib/esm/index.js +115 -0
  607. package/node_modules/css-select/lib/esm/index.js.map +1 -0
  608. package/node_modules/css-select/lib/esm/package.json +1 -0
  609. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
  610. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
  611. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
  612. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
  613. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
  614. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
  615. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
  616. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
  617. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
  618. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
  619. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
  620. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
  621. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
  622. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
  623. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
  624. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
  625. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
  626. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
  627. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
  628. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
  629. package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
  630. package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
  631. package/node_modules/css-select/lib/esm/sort.js +79 -0
  632. package/node_modules/css-select/lib/esm/sort.js.map +1 -0
  633. package/node_modules/css-select/lib/esm/types.d.ts +167 -0
  634. package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
  635. package/node_modules/css-select/lib/esm/types.js +2 -0
  636. package/node_modules/css-select/lib/esm/types.js.map +1 -0
  637. package/node_modules/css-select/lib/general.d.ts +3 -0
  638. package/node_modules/css-select/lib/general.d.ts.map +1 -0
  639. package/node_modules/css-select/lib/general.js +148 -0
  640. package/node_modules/css-select/lib/general.js.map +1 -0
  641. package/node_modules/css-select/lib/helpers/cache.d.ts +12 -0
  642. package/node_modules/css-select/lib/helpers/cache.d.ts.map +1 -0
  643. package/node_modules/css-select/lib/helpers/cache.js +45 -0
  644. package/node_modules/css-select/lib/helpers/cache.js.map +1 -0
  645. package/node_modules/css-select/lib/helpers/querying.d.ts +24 -0
  646. package/node_modules/css-select/lib/helpers/querying.d.ts.map +1 -0
  647. package/node_modules/css-select/lib/helpers/querying.js +111 -0
  648. package/node_modules/css-select/lib/helpers/querying.js.map +1 -0
  649. package/node_modules/css-select/lib/helpers/selectors.d.ts +20 -0
  650. package/node_modules/css-select/lib/helpers/selectors.d.ts.map +1 -0
  651. package/node_modules/css-select/lib/helpers/selectors.js +111 -0
  652. package/node_modules/css-select/lib/helpers/selectors.js.map +1 -0
  653. package/node_modules/css-select/lib/index.d.ts +50 -0
  654. package/node_modules/css-select/lib/index.d.ts.map +1 -0
  655. package/node_modules/css-select/lib/index.js +154 -0
  656. package/node_modules/css-select/lib/index.js.map +1 -0
  657. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
  658. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
  659. package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
  660. package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
  661. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
  662. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
  663. package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
  664. package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
  665. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
  666. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
  667. package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
  668. package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
  669. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
  670. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
  671. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
  672. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
  673. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
  674. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
  675. package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
  676. package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
  677. package/node_modules/css-select/lib/sort.d.ts +12 -0
  678. package/node_modules/css-select/lib/sort.d.ts.map +1 -0
  679. package/node_modules/css-select/lib/sort.js +84 -0
  680. package/node_modules/css-select/lib/sort.js.map +1 -0
  681. package/node_modules/css-select/lib/types.d.ts +167 -0
  682. package/node_modules/css-select/lib/types.d.ts.map +1 -0
  683. package/node_modules/css-select/lib/types.js +3 -0
  684. package/node_modules/css-select/lib/types.js.map +1 -0
  685. package/node_modules/css-select/package.json +81 -0
  686. package/node_modules/css-what/LICENSE +11 -0
  687. package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
  688. package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
  689. package/node_modules/css-what/lib/commonjs/index.js +23 -0
  690. package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
  691. package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
  692. package/node_modules/css-what/lib/commonjs/parse.js +425 -0
  693. package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
  694. package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
  695. package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
  696. package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
  697. package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
  698. package/node_modules/css-what/lib/commonjs/types.js +42 -0
  699. package/node_modules/css-what/lib/es/index.d.ts +4 -0
  700. package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
  701. package/node_modules/css-what/lib/es/index.js +3 -0
  702. package/node_modules/css-what/lib/es/parse.d.ts +20 -0
  703. package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
  704. package/node_modules/css-what/lib/es/parse.js +420 -0
  705. package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
  706. package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
  707. package/node_modules/css-what/lib/es/stringify.js +126 -0
  708. package/node_modules/css-what/lib/es/types.d.ts +70 -0
  709. package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
  710. package/node_modules/css-what/lib/es/types.js +39 -0
  711. package/node_modules/css-what/package.json +59 -0
  712. package/node_modules/css-what/readme.md +69 -0
  713. package/node_modules/dom-serializer/LICENSE +11 -0
  714. package/node_modules/dom-serializer/README.md +109 -0
  715. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
  716. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
  717. package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
  718. package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
  719. package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
  720. package/node_modules/dom-serializer/lib/esm/index.js +190 -0
  721. package/node_modules/dom-serializer/lib/esm/package.json +1 -0
  722. package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
  723. package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
  724. package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
  725. package/node_modules/dom-serializer/lib/index.d.ts +52 -0
  726. package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
  727. package/node_modules/dom-serializer/lib/index.js +229 -0
  728. package/node_modules/dom-serializer/package.json +69 -0
  729. package/node_modules/domelementtype/LICENSE +11 -0
  730. package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
  731. package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
  732. package/node_modules/domelementtype/lib/esm/index.js +51 -0
  733. package/node_modules/domelementtype/lib/esm/package.json +1 -0
  734. package/node_modules/domelementtype/lib/index.d.ts +48 -0
  735. package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
  736. package/node_modules/domelementtype/lib/index.js +55 -0
  737. package/node_modules/domelementtype/package.json +54 -0
  738. package/node_modules/domelementtype/readme.md +1 -0
  739. package/node_modules/domhandler/LICENSE +11 -0
  740. package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
  741. package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
  742. package/node_modules/domhandler/lib/esm/index.js +146 -0
  743. package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
  744. package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
  745. package/node_modules/domhandler/lib/esm/node.js +338 -0
  746. package/node_modules/domhandler/lib/esm/package.json +1 -0
  747. package/node_modules/domhandler/lib/index.d.ts +76 -0
  748. package/node_modules/domhandler/lib/index.d.ts.map +1 -0
  749. package/node_modules/domhandler/lib/index.js +165 -0
  750. package/node_modules/domhandler/lib/node.d.ts +245 -0
  751. package/node_modules/domhandler/lib/node.d.ts.map +1 -0
  752. package/node_modules/domhandler/lib/node.js +474 -0
  753. package/node_modules/domhandler/package.json +73 -0
  754. package/node_modules/domhandler/readme.md +92 -0
  755. package/node_modules/domutils/LICENSE +11 -0
  756. package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
  757. package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
  758. package/node_modules/domutils/lib/esm/feeds.js +183 -0
  759. package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
  760. package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
  761. package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
  762. package/node_modules/domutils/lib/esm/helpers.js +136 -0
  763. package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
  764. package/node_modules/domutils/lib/esm/index.d.ts +10 -0
  765. package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
  766. package/node_modules/domutils/lib/esm/index.js +10 -0
  767. package/node_modules/domutils/lib/esm/index.js.map +1 -0
  768. package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
  769. package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
  770. package/node_modules/domutils/lib/esm/legacy.js +152 -0
  771. package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
  772. package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
  773. package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
  774. package/node_modules/domutils/lib/esm/manipulation.js +134 -0
  775. package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
  776. package/node_modules/domutils/lib/esm/package.json +1 -0
  777. package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
  778. package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
  779. package/node_modules/domutils/lib/esm/querying.js +142 -0
  780. package/node_modules/domutils/lib/esm/querying.js.map +1 -0
  781. package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
  782. package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
  783. package/node_modules/domutils/lib/esm/stringify.js +81 -0
  784. package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
  785. package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
  786. package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
  787. package/node_modules/domutils/lib/esm/traversal.js +112 -0
  788. package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
  789. package/node_modules/domutils/lib/feeds.d.ts +71 -0
  790. package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
  791. package/node_modules/domutils/lib/feeds.js +190 -0
  792. package/node_modules/domutils/lib/feeds.js.map +1 -0
  793. package/node_modules/domutils/lib/helpers.d.ts +59 -0
  794. package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
  795. package/node_modules/domutils/lib/helpers.js +142 -0
  796. package/node_modules/domutils/lib/helpers.js.map +1 -0
  797. package/node_modules/domutils/lib/index.d.ts +10 -0
  798. package/node_modules/domutils/lib/index.d.ts.map +1 -0
  799. package/node_modules/domutils/lib/index.js +33 -0
  800. package/node_modules/domutils/lib/index.js.map +1 -0
  801. package/node_modules/domutils/lib/legacy.d.ts +79 -0
  802. package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
  803. package/node_modules/domutils/lib/legacy.js +168 -0
  804. package/node_modules/domutils/lib/legacy.js.map +1 -0
  805. package/node_modules/domutils/lib/manipulation.d.ts +49 -0
  806. package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
  807. package/node_modules/domutils/lib/manipulation.js +142 -0
  808. package/node_modules/domutils/lib/manipulation.js.map +1 -0
  809. package/node_modules/domutils/lib/querying.d.ts +64 -0
  810. package/node_modules/domutils/lib/querying.d.ts.map +1 -0
  811. package/node_modules/domutils/lib/querying.js +155 -0
  812. package/node_modules/domutils/lib/querying.js.map +1 -0
  813. package/node_modules/domutils/lib/stringify.d.ts +46 -0
  814. package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
  815. package/node_modules/domutils/lib/stringify.js +91 -0
  816. package/node_modules/domutils/lib/stringify.js.map +1 -0
  817. package/node_modules/domutils/lib/traversal.d.ts +67 -0
  818. package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
  819. package/node_modules/domutils/lib/traversal.js +125 -0
  820. package/node_modules/domutils/lib/traversal.js.map +1 -0
  821. package/node_modules/domutils/package.json +79 -0
  822. package/node_modules/domutils/readme.md +31 -0
  823. package/node_modules/encoding-sniffer/LICENSE +18 -0
  824. package/node_modules/encoding-sniffer/README.md +68 -0
  825. package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts +31 -0
  826. package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts.map +1 -0
  827. package/node_modules/encoding-sniffer/dist/commonjs/index.js +72 -0
  828. package/node_modules/encoding-sniffer/dist/commonjs/index.js.map +1 -0
  829. package/node_modules/encoding-sniffer/dist/commonjs/package.json +3 -0
  830. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts +148 -0
  831. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts.map +1 -0
  832. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js +990 -0
  833. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js.map +1 -0
  834. package/node_modules/encoding-sniffer/dist/esm/index.d.ts +31 -0
  835. package/node_modules/encoding-sniffer/dist/esm/index.d.ts.map +1 -0
  836. package/node_modules/encoding-sniffer/dist/esm/index.js +63 -0
  837. package/node_modules/encoding-sniffer/dist/esm/index.js.map +1 -0
  838. package/node_modules/encoding-sniffer/dist/esm/package.json +3 -0
  839. package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts +148 -0
  840. package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts.map +1 -0
  841. package/node_modules/encoding-sniffer/dist/esm/sniffer.js +985 -0
  842. package/node_modules/encoding-sniffer/dist/esm/sniffer.js.map +1 -0
  843. package/node_modules/encoding-sniffer/package.json +94 -0
  844. package/node_modules/encoding-sniffer/sniffer.d.ts +2 -0
  845. package/node_modules/encoding-sniffer/sniffer.js +3 -0
  846. package/node_modules/entities/LICENSE +11 -0
  847. package/node_modules/entities/lib/decode.d.ts +211 -0
  848. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  849. package/node_modules/entities/lib/decode.js +536 -0
  850. package/node_modules/entities/lib/decode.js.map +1 -0
  851. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  852. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  853. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  854. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  855. package/node_modules/entities/lib/encode.d.ts +22 -0
  856. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  857. package/node_modules/entities/lib/encode.js +77 -0
  858. package/node_modules/entities/lib/encode.js.map +1 -0
  859. package/node_modules/entities/lib/escape.d.ts +43 -0
  860. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  861. package/node_modules/entities/lib/escape.js +122 -0
  862. package/node_modules/entities/lib/escape.js.map +1 -0
  863. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  864. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  865. package/node_modules/entities/lib/esm/decode.js +496 -0
  866. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  867. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  868. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  869. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  870. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  871. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  872. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  873. package/node_modules/entities/lib/esm/encode.js +69 -0
  874. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  875. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  876. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  877. package/node_modules/entities/lib/esm/escape.js +116 -0
  878. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  879. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  880. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  881. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  882. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  883. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  884. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  885. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  886. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  887. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  888. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  889. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  890. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  891. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  892. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  893. package/node_modules/entities/lib/esm/index.js +99 -0
  894. package/node_modules/entities/lib/esm/index.js.map +1 -0
  895. package/node_modules/entities/lib/esm/package.json +1 -0
  896. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  897. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  898. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  899. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  900. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  901. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  902. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  903. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  904. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  905. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  906. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  907. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  908. package/node_modules/entities/lib/index.d.ts +96 -0
  909. package/node_modules/entities/lib/index.d.ts.map +1 -0
  910. package/node_modules/entities/lib/index.js +126 -0
  911. package/node_modules/entities/lib/index.js.map +1 -0
  912. package/node_modules/entities/package.json +90 -0
  913. package/node_modules/entities/readme.md +122 -0
  914. package/node_modules/enumify/.npmignore +2 -0
  915. package/node_modules/enumify/README.md +93 -0
  916. package/node_modules/enumify/lib/enumify.js +209 -0
  917. package/node_modules/enumify/package.json +31 -0
  918. package/node_modules/file-type/browser.d.ts +50 -0
  919. package/node_modules/file-type/browser.js +49 -0
  920. package/node_modules/file-type/core.d.ts +386 -0
  921. package/node_modules/file-type/core.js +1465 -0
  922. package/node_modules/file-type/index.d.ts +27 -0
  923. package/node_modules/file-type/index.js +32 -0
  924. package/node_modules/file-type/license +9 -0
  925. package/node_modules/file-type/package.json +215 -0
  926. package/node_modules/file-type/readme.md +470 -0
  927. package/node_modules/file-type/supported.js +279 -0
  928. package/node_modules/file-type/util.js +40 -0
  929. package/node_modules/htmlparser2/LICENSE +18 -0
  930. package/node_modules/htmlparser2/README.md +171 -0
  931. package/node_modules/htmlparser2/WritableStream.js +3 -0
  932. package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts +198 -0
  933. package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts.map +1 -0
  934. package/node_modules/htmlparser2/dist/commonjs/Parser.js +527 -0
  935. package/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -0
  936. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts +126 -0
  937. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts.map +1 -0
  938. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +805 -0
  939. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -0
  940. package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts +15 -0
  941. package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts.map +1 -0
  942. package/node_modules/htmlparser2/dist/commonjs/WritableStream.js +36 -0
  943. package/node_modules/htmlparser2/dist/commonjs/WritableStream.js.map +1 -0
  944. package/node_modules/htmlparser2/dist/commonjs/index.d.ts +54 -0
  945. package/node_modules/htmlparser2/dist/commonjs/index.d.ts.map +1 -0
  946. package/node_modules/htmlparser2/dist/commonjs/index.js +123 -0
  947. package/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -0
  948. package/node_modules/htmlparser2/dist/commonjs/package.json +3 -0
  949. package/node_modules/htmlparser2/dist/esm/Parser.d.ts +198 -0
  950. package/node_modules/htmlparser2/dist/esm/Parser.d.ts.map +1 -0
  951. package/node_modules/htmlparser2/dist/esm/Parser.js +490 -0
  952. package/node_modules/htmlparser2/dist/esm/Parser.js.map +1 -0
  953. package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts +126 -0
  954. package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts.map +1 -0
  955. package/node_modules/htmlparser2/dist/esm/Tokenizer.js +801 -0
  956. package/node_modules/htmlparser2/dist/esm/Tokenizer.js.map +1 -0
  957. package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts +15 -0
  958. package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts.map +1 -0
  959. package/node_modules/htmlparser2/dist/esm/WritableStream.js +32 -0
  960. package/node_modules/htmlparser2/dist/esm/WritableStream.js.map +1 -0
  961. package/node_modules/htmlparser2/dist/esm/index.d.ts +54 -0
  962. package/node_modules/htmlparser2/dist/esm/index.d.ts.map +1 -0
  963. package/node_modules/htmlparser2/dist/esm/index.js +74 -0
  964. package/node_modules/htmlparser2/dist/esm/index.js.map +1 -0
  965. package/node_modules/htmlparser2/dist/esm/package.json +3 -0
  966. package/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
  967. package/node_modules/htmlparser2/node_modules/entities/decode.d.ts +3 -0
  968. package/node_modules/htmlparser2/node_modules/entities/decode.js +3 -0
  969. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  970. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  971. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  972. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  973. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts +205 -0
  974. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  975. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +568 -0
  976. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  977. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  978. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  979. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js +92 -0
  980. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  981. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts +46 -0
  982. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  983. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js +138 -0
  984. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  985. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  986. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  987. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  988. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  989. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  990. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  991. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  992. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  993. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +3 -0
  994. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  995. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js +14 -0
  996. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  997. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  998. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  999. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js +131 -0
  1000. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js.map +1 -0
  1001. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts +17 -0
  1002. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts.map +1 -0
  1003. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  1004. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js.map +1 -0
  1005. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts +2 -0
  1006. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts.map +1 -0
  1007. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  1008. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js.map +1 -0
  1009. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts +32 -0
  1010. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts.map +1 -0
  1011. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js +94 -0
  1012. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js.map +1 -0
  1013. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/package.json +3 -0
  1014. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  1015. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  1016. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  1017. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  1018. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts +205 -0
  1019. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  1020. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js +554 -0
  1021. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js.map +1 -0
  1022. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts +22 -0
  1023. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  1024. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js +88 -0
  1025. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js.map +1 -0
  1026. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts +46 -0
  1027. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  1028. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js +134 -0
  1029. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js.map +1 -0
  1030. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  1031. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  1032. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js +4 -0
  1033. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  1034. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  1035. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  1036. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js +4 -0
  1037. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  1038. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts +3 -0
  1039. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  1040. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js +11 -0
  1041. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  1042. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts +96 -0
  1043. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  1044. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js +107 -0
  1045. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js.map +1 -0
  1046. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts +17 -0
  1047. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts.map +1 -0
  1048. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js +18 -0
  1049. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js.map +1 -0
  1050. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts +2 -0
  1051. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts.map +1 -0
  1052. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js +28 -0
  1053. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js.map +1 -0
  1054. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts +32 -0
  1055. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts.map +1 -0
  1056. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js +91 -0
  1057. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js.map +1 -0
  1058. package/node_modules/htmlparser2/node_modules/entities/dist/esm/package.json +3 -0
  1059. package/node_modules/htmlparser2/node_modules/entities/escape.d.ts +3 -0
  1060. package/node_modules/htmlparser2/node_modules/entities/escape.js +3 -0
  1061. package/node_modules/htmlparser2/node_modules/entities/package.json +120 -0
  1062. package/node_modules/htmlparser2/node_modules/entities/readme.md +143 -0
  1063. package/node_modules/htmlparser2/node_modules/entities/src/decode-codepoint.ts +81 -0
  1064. package/node_modules/htmlparser2/node_modules/entities/src/decode.ts +685 -0
  1065. package/node_modules/htmlparser2/node_modules/entities/src/encode.ts +93 -0
  1066. package/node_modules/htmlparser2/node_modules/entities/src/escape.ts +161 -0
  1067. package/node_modules/htmlparser2/node_modules/entities/src/generated/.eslintrc.json +10 -0
  1068. package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-html.ts +6 -0
  1069. package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-xml.ts +6 -0
  1070. package/node_modules/htmlparser2/node_modules/entities/src/generated/encode-html.ts +17 -0
  1071. package/node_modules/htmlparser2/node_modules/entities/src/index.ts +187 -0
  1072. package/node_modules/htmlparser2/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  1073. package/node_modules/htmlparser2/node_modules/entities/src/internal/decode-shared.ts +30 -0
  1074. package/node_modules/htmlparser2/node_modules/entities/src/internal/encode-shared.ts +121 -0
  1075. package/node_modules/htmlparser2/package.json +113 -0
  1076. package/node_modules/htmlparser2/src/Parser.ts +663 -0
  1077. package/node_modules/htmlparser2/src/Tokenizer.ts +877 -0
  1078. package/node_modules/htmlparser2/src/WritableStream.ts +43 -0
  1079. package/node_modules/htmlparser2/src/index.ts +115 -0
  1080. package/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  1081. package/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
  1082. package/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
  1083. package/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
  1084. package/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
  1085. package/node_modules/iconv-lite/.idea/modules.xml +8 -0
  1086. package/node_modules/iconv-lite/.idea/vcs.xml +6 -0
  1087. package/node_modules/iconv-lite/Changelog.md +212 -0
  1088. package/node_modules/iconv-lite/LICENSE +21 -0
  1089. package/node_modules/iconv-lite/README.md +130 -0
  1090. package/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  1091. package/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  1092. package/node_modules/iconv-lite/encodings/index.js +23 -0
  1093. package/node_modules/iconv-lite/encodings/internal.js +198 -0
  1094. package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  1095. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1096. package/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  1097. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1098. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1099. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1100. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1101. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1102. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1103. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1104. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1105. package/node_modules/iconv-lite/encodings/utf16.js +197 -0
  1106. package/node_modules/iconv-lite/encodings/utf32.js +319 -0
  1107. package/node_modules/iconv-lite/encodings/utf7.js +290 -0
  1108. package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  1109. package/node_modules/iconv-lite/lib/index.d.ts +41 -0
  1110. package/node_modules/iconv-lite/lib/index.js +180 -0
  1111. package/node_modules/iconv-lite/lib/streams.js +109 -0
  1112. package/node_modules/iconv-lite/package.json +44 -0
  1113. package/node_modules/image-size/LICENSE +9 -0
  1114. package/node_modules/image-size/Readme.md +198 -0
  1115. package/node_modules/image-size/bin/image-size.js +48 -0
  1116. package/node_modules/image-size/dist/detector.cjs +964 -0
  1117. package/node_modules/image-size/dist/detector.d.mts +6 -0
  1118. package/node_modules/image-size/dist/detector.d.ts +6 -0
  1119. package/node_modules/image-size/dist/detector.mjs +962 -0
  1120. package/node_modules/image-size/dist/fromFile.cjs +1056 -0
  1121. package/node_modules/image-size/dist/fromFile.d.mts +9 -0
  1122. package/node_modules/image-size/dist/fromFile.d.ts +9 -0
  1123. package/node_modules/image-size/dist/fromFile.mjs +1032 -0
  1124. package/node_modules/image-size/dist/index.cjs +998 -0
  1125. package/node_modules/image-size/dist/index.d.mts +3 -0
  1126. package/node_modules/image-size/dist/index.d.ts +3 -0
  1127. package/node_modules/image-size/dist/index.mjs +991 -0
  1128. package/node_modules/image-size/dist/lookup.cjs +994 -0
  1129. package/node_modules/image-size/dist/lookup.d.mts +13 -0
  1130. package/node_modules/image-size/dist/lookup.d.ts +13 -0
  1131. package/node_modules/image-size/dist/lookup.mjs +991 -0
  1132. package/node_modules/image-size/dist/types/bmp.cjs +19 -0
  1133. package/node_modules/image-size/dist/types/bmp.d.mts +5 -0
  1134. package/node_modules/image-size/dist/types/bmp.d.ts +5 -0
  1135. package/node_modules/image-size/dist/types/bmp.mjs +17 -0
  1136. package/node_modules/image-size/dist/types/cur.cjs +60 -0
  1137. package/node_modules/image-size/dist/types/cur.d.mts +5 -0
  1138. package/node_modules/image-size/dist/types/cur.d.ts +5 -0
  1139. package/node_modules/image-size/dist/types/cur.mjs +58 -0
  1140. package/node_modules/image-size/dist/types/dds.cjs +17 -0
  1141. package/node_modules/image-size/dist/types/dds.d.mts +5 -0
  1142. package/node_modules/image-size/dist/types/dds.d.ts +5 -0
  1143. package/node_modules/image-size/dist/types/dds.mjs +15 -0
  1144. package/node_modules/image-size/dist/types/gif.cjs +19 -0
  1145. package/node_modules/image-size/dist/types/gif.d.mts +5 -0
  1146. package/node_modules/image-size/dist/types/gif.d.ts +5 -0
  1147. package/node_modules/image-size/dist/types/gif.mjs +17 -0
  1148. package/node_modules/image-size/dist/types/heif.cjs +86 -0
  1149. package/node_modules/image-size/dist/types/heif.d.mts +5 -0
  1150. package/node_modules/image-size/dist/types/heif.d.ts +5 -0
  1151. package/node_modules/image-size/dist/types/heif.mjs +84 -0
  1152. package/node_modules/image-size/dist/types/icns.cjs +90 -0
  1153. package/node_modules/image-size/dist/types/icns.d.mts +5 -0
  1154. package/node_modules/image-size/dist/types/icns.d.ts +5 -0
  1155. package/node_modules/image-size/dist/types/icns.mjs +88 -0
  1156. package/node_modules/image-size/dist/types/ico.cjs +47 -0
  1157. package/node_modules/image-size/dist/types/ico.d.mts +5 -0
  1158. package/node_modules/image-size/dist/types/ico.d.ts +5 -0
  1159. package/node_modules/image-size/dist/types/ico.mjs +45 -0
  1160. package/node_modules/image-size/dist/types/index.cjs +942 -0
  1161. package/node_modules/image-size/dist/types/index.d.mts +7 -0
  1162. package/node_modules/image-size/dist/types/index.d.ts +7 -0
  1163. package/node_modules/image-size/dist/types/index.mjs +939 -0
  1164. package/node_modules/image-size/dist/types/interface.cjs +2 -0
  1165. package/node_modules/image-size/dist/types/interface.d.mts +15 -0
  1166. package/node_modules/image-size/dist/types/interface.d.ts +15 -0
  1167. package/node_modules/image-size/dist/types/interface.mjs +1 -0
  1168. package/node_modules/image-size/dist/types/j2c.cjs +18 -0
  1169. package/node_modules/image-size/dist/types/j2c.d.mts +5 -0
  1170. package/node_modules/image-size/dist/types/j2c.d.ts +5 -0
  1171. package/node_modules/image-size/dist/types/j2c.mjs +16 -0
  1172. package/node_modules/image-size/dist/types/jp2.cjs +50 -0
  1173. package/node_modules/image-size/dist/types/jp2.d.mts +5 -0
  1174. package/node_modules/image-size/dist/types/jp2.d.ts +5 -0
  1175. package/node_modules/image-size/dist/types/jp2.mjs +48 -0
  1176. package/node_modules/image-size/dist/types/jpg.cjs +118 -0
  1177. package/node_modules/image-size/dist/types/jpg.d.mts +5 -0
  1178. package/node_modules/image-size/dist/types/jpg.d.ts +5 -0
  1179. package/node_modules/image-size/dist/types/jpg.mjs +116 -0
  1180. package/node_modules/image-size/dist/types/jxl-stream.cjs +80 -0
  1181. package/node_modules/image-size/dist/types/jxl-stream.d.mts +5 -0
  1182. package/node_modules/image-size/dist/types/jxl-stream.d.ts +5 -0
  1183. package/node_modules/image-size/dist/types/jxl-stream.mjs +78 -0
  1184. package/node_modules/image-size/dist/types/jxl.cjs +155 -0
  1185. package/node_modules/image-size/dist/types/jxl.d.mts +5 -0
  1186. package/node_modules/image-size/dist/types/jxl.d.ts +5 -0
  1187. package/node_modules/image-size/dist/types/jxl.mjs +153 -0
  1188. package/node_modules/image-size/dist/types/ktx.cjs +26 -0
  1189. package/node_modules/image-size/dist/types/ktx.d.mts +5 -0
  1190. package/node_modules/image-size/dist/types/ktx.d.ts +5 -0
  1191. package/node_modules/image-size/dist/types/ktx.mjs +24 -0
  1192. package/node_modules/image-size/dist/types/png.cjs +41 -0
  1193. package/node_modules/image-size/dist/types/png.d.mts +5 -0
  1194. package/node_modules/image-size/dist/types/png.d.ts +5 -0
  1195. package/node_modules/image-size/dist/types/png.mjs +39 -0
  1196. package/node_modules/image-size/dist/types/pnm.cjs +72 -0
  1197. package/node_modules/image-size/dist/types/pnm.d.mts +5 -0
  1198. package/node_modules/image-size/dist/types/pnm.d.ts +5 -0
  1199. package/node_modules/image-size/dist/types/pnm.mjs +70 -0
  1200. package/node_modules/image-size/dist/types/psd.cjs +18 -0
  1201. package/node_modules/image-size/dist/types/psd.d.mts +5 -0
  1202. package/node_modules/image-size/dist/types/psd.d.ts +5 -0
  1203. package/node_modules/image-size/dist/types/psd.mjs +16 -0
  1204. package/node_modules/image-size/dist/types/svg.cjs +97 -0
  1205. package/node_modules/image-size/dist/types/svg.d.mts +5 -0
  1206. package/node_modules/image-size/dist/types/svg.d.ts +5 -0
  1207. package/node_modules/image-size/dist/types/svg.mjs +95 -0
  1208. package/node_modules/image-size/dist/types/tga.cjs +21 -0
  1209. package/node_modules/image-size/dist/types/tga.d.mts +5 -0
  1210. package/node_modules/image-size/dist/types/tga.d.ts +5 -0
  1211. package/node_modules/image-size/dist/types/tga.mjs +19 -0
  1212. package/node_modules/image-size/dist/types/tiff.cjs +142 -0
  1213. package/node_modules/image-size/dist/types/tiff.d.mts +5 -0
  1214. package/node_modules/image-size/dist/types/tiff.d.ts +5 -0
  1215. package/node_modules/image-size/dist/types/tiff.mjs +140 -0
  1216. package/node_modules/image-size/dist/types/utils.cjs +60 -0
  1217. package/node_modules/image-size/dist/types/utils.d.mts +18 -0
  1218. package/node_modules/image-size/dist/types/utils.d.ts +18 -0
  1219. package/node_modules/image-size/dist/types/utils.mjs +47 -0
  1220. package/node_modules/image-size/dist/types/webp.cjs +63 -0
  1221. package/node_modules/image-size/dist/types/webp.d.mts +5 -0
  1222. package/node_modules/image-size/dist/types/webp.d.ts +5 -0
  1223. package/node_modules/image-size/dist/types/webp.mjs +61 -0
  1224. package/node_modules/image-size/dist/utils/bit-reader.cjs +43 -0
  1225. package/node_modules/image-size/dist/utils/bit-reader.d.mts +12 -0
  1226. package/node_modules/image-size/dist/utils/bit-reader.d.ts +12 -0
  1227. package/node_modules/image-size/dist/utils/bit-reader.mjs +41 -0
  1228. package/node_modules/image-size/package.json +104 -0
  1229. package/node_modules/mime-db/HISTORY.md +507 -0
  1230. package/node_modules/mime-db/LICENSE +23 -0
  1231. package/node_modules/mime-db/README.md +100 -0
  1232. package/node_modules/mime-db/db.json +8519 -0
  1233. package/node_modules/mime-db/index.js +12 -0
  1234. package/node_modules/mime-db/package.json +60 -0
  1235. package/node_modules/mime-types/HISTORY.md +397 -0
  1236. package/node_modules/mime-types/LICENSE +23 -0
  1237. package/node_modules/mime-types/README.md +113 -0
  1238. package/node_modules/mime-types/index.js +188 -0
  1239. package/node_modules/mime-types/package.json +44 -0
  1240. package/node_modules/minimist/.eslintrc +29 -0
  1241. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1242. package/node_modules/minimist/.nycrc +14 -0
  1243. package/node_modules/minimist/CHANGELOG.md +298 -0
  1244. package/node_modules/minimist/LICENSE +18 -0
  1245. package/node_modules/minimist/README.md +121 -0
  1246. package/node_modules/minimist/example/parse.js +4 -0
  1247. package/node_modules/minimist/index.js +263 -0
  1248. package/node_modules/minimist/package.json +75 -0
  1249. package/node_modules/minimist/test/all_bool.js +34 -0
  1250. package/node_modules/minimist/test/bool.js +177 -0
  1251. package/node_modules/minimist/test/dash.js +43 -0
  1252. package/node_modules/minimist/test/default_bool.js +37 -0
  1253. package/node_modules/minimist/test/dotted.js +24 -0
  1254. package/node_modules/minimist/test/kv_short.js +32 -0
  1255. package/node_modules/minimist/test/long.js +33 -0
  1256. package/node_modules/minimist/test/num.js +38 -0
  1257. package/node_modules/minimist/test/parse.js +209 -0
  1258. package/node_modules/minimist/test/parse_modified.js +11 -0
  1259. package/node_modules/minimist/test/proto.js +64 -0
  1260. package/node_modules/minimist/test/short.js +69 -0
  1261. package/node_modules/minimist/test/stop_early.js +17 -0
  1262. package/node_modules/minimist/test/unknown.js +104 -0
  1263. package/node_modules/minimist/test/whitespace.js +10 -0
  1264. package/node_modules/music-metadata/LICENSE.txt +9 -0
  1265. package/node_modules/music-metadata/README.md +878 -0
  1266. package/node_modules/music-metadata/lib/ParseError.d.ts +87 -0
  1267. package/node_modules/music-metadata/lib/ParseError.js +38 -0
  1268. package/node_modules/music-metadata/lib/ParserFactory.d.ts +44 -0
  1269. package/node_modules/music-metadata/lib/ParserFactory.js +141 -0
  1270. package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +2 -0
  1271. package/node_modules/music-metadata/lib/aiff/AiffLoader.js +8 -0
  1272. package/node_modules/music-metadata/lib/aiff/AiffParser.d.ts +15 -0
  1273. package/node_modules/music-metadata/lib/aiff/AiffParser.js +104 -0
  1274. package/node_modules/music-metadata/lib/aiff/AiffTagMap.d.ts +4 -0
  1275. package/node_modules/music-metadata/lib/aiff/AiffTagMap.js +15 -0
  1276. package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +48 -0
  1277. package/node_modules/music-metadata/lib/aiff/AiffToken.js +58 -0
  1278. package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +46 -0
  1279. package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +176 -0
  1280. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.d.ts +4 -0
  1281. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +83 -0
  1282. package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +99 -0
  1283. package/node_modules/music-metadata/lib/apev2/APEv2Token.js +116 -0
  1284. package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +2 -0
  1285. package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +8 -0
  1286. package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +83 -0
  1287. package/node_modules/music-metadata/lib/asf/AsfGuid.js +109 -0
  1288. package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +2 -0
  1289. package/node_modules/music-metadata/lib/asf/AsfLoader.js +8 -0
  1290. package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +325 -0
  1291. package/node_modules/music-metadata/lib/asf/AsfObject.js +347 -0
  1292. package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +17 -0
  1293. package/node_modules/music-metadata/lib/asf/AsfParser.js +134 -0
  1294. package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +7 -0
  1295. package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +92 -0
  1296. package/node_modules/music-metadata/lib/asf/AsfUtil.d.ts +4 -0
  1297. package/node_modules/music-metadata/lib/asf/AsfUtil.js +32 -0
  1298. package/node_modules/music-metadata/lib/common/BasicParser.d.ts +17 -0
  1299. package/node_modules/music-metadata/lib/common/BasicParser.js +13 -0
  1300. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +10 -0
  1301. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.js +17 -0
  1302. package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +19 -0
  1303. package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +50 -0
  1304. package/node_modules/music-metadata/lib/common/FourCC.d.ts +6 -0
  1305. package/node_modules/music-metadata/lib/common/FourCC.js +25 -0
  1306. package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +51 -0
  1307. package/node_modules/music-metadata/lib/common/GenericTagMapper.js +51 -0
  1308. package/node_modules/music-metadata/lib/common/GenericTagTypes.d.ts +34 -0
  1309. package/node_modules/music-metadata/lib/common/GenericTagTypes.js +133 -0
  1310. package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +86 -0
  1311. package/node_modules/music-metadata/lib/common/MetadataCollector.js +307 -0
  1312. package/node_modules/music-metadata/lib/common/Util.d.ts +56 -0
  1313. package/node_modules/music-metadata/lib/common/Util.js +152 -0
  1314. package/node_modules/music-metadata/lib/core.d.ts +75 -0
  1315. package/node_modules/music-metadata/lib/core.js +126 -0
  1316. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +2 -0
  1317. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +8 -0
  1318. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.d.ts +29 -0
  1319. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +154 -0
  1320. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.d.ts +9 -0
  1321. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js +18 -0
  1322. package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +87 -0
  1323. package/node_modules/music-metadata/lib/dsf/DsfChunk.js +50 -0
  1324. package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +2 -0
  1325. package/node_modules/music-metadata/lib/dsf/DsfLoader.js +8 -0
  1326. package/node_modules/music-metadata/lib/dsf/DsfParser.d.ts +24 -0
  1327. package/node_modules/music-metadata/lib/dsf/DsfParser.js +57 -0
  1328. package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +67 -0
  1329. package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +218 -0
  1330. package/node_modules/music-metadata/lib/ebml/types.d.ts +37 -0
  1331. package/node_modules/music-metadata/lib/ebml/types.js +8 -0
  1332. package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +2 -0
  1333. package/node_modules/music-metadata/lib/flac/FlacLoader.js +8 -0
  1334. package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +29 -0
  1335. package/node_modules/music-metadata/lib/flac/FlacParser.js +125 -0
  1336. package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +45 -0
  1337. package/node_modules/music-metadata/lib/flac/FlacToken.js +63 -0
  1338. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +17 -0
  1339. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +137 -0
  1340. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.d.ts +4 -0
  1341. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.js +18 -0
  1342. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.d.ts +17 -0
  1343. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +56 -0
  1344. package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +31 -0
  1345. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +73 -0
  1346. package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +92 -0
  1347. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +470 -0
  1348. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +9 -0
  1349. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +46 -0
  1350. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.d.ts +14 -0
  1351. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +195 -0
  1352. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +11 -0
  1353. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +17 -0
  1354. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +33 -0
  1355. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +169 -0
  1356. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +111 -0
  1357. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +146 -0
  1358. package/node_modules/music-metadata/lib/iff/index.d.ts +33 -0
  1359. package/node_modules/music-metadata/lib/iff/index.js +16 -0
  1360. package/node_modules/music-metadata/lib/index.d.ts +22 -0
  1361. package/node_modules/music-metadata/lib/index.js +53 -0
  1362. package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +9 -0
  1363. package/node_modules/music-metadata/lib/lrc/LyricsParser.js +45 -0
  1364. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.d.ts +3 -0
  1365. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.js +17 -0
  1366. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.d.ts +8 -0
  1367. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +283 -0
  1368. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +2 -0
  1369. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +8 -0
  1370. package/node_modules/music-metadata/lib/matroska/MatroskaParser.d.ts +19 -0
  1371. package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +143 -0
  1372. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.d.ts +4 -0
  1373. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.js +32 -0
  1374. package/node_modules/music-metadata/lib/matroska/types.d.ts +142 -0
  1375. package/node_modules/music-metadata/lib/matroska/types.js +27 -0
  1376. package/node_modules/music-metadata/lib/mp4/Atom.d.ts +16 -0
  1377. package/node_modules/music-metadata/lib/mp4/Atom.js +65 -0
  1378. package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +487 -0
  1379. package/node_modules/music-metadata/lib/mp4/AtomToken.js +524 -0
  1380. package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +32 -0
  1381. package/node_modules/music-metadata/lib/mp4/MP4Parser.js +647 -0
  1382. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +8 -0
  1383. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.js +123 -0
  1384. package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +2 -0
  1385. package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +8 -0
  1386. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.d.ts +27 -0
  1387. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.js +28 -0
  1388. package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +2 -0
  1389. package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +8 -0
  1390. package/node_modules/music-metadata/lib/mpeg/MpegParser.d.ts +62 -0
  1391. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +569 -0
  1392. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +57 -0
  1393. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +64 -0
  1394. package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +44 -0
  1395. package/node_modules/music-metadata/lib/mpeg/XingTag.js +65 -0
  1396. package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +15 -0
  1397. package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +3 -0
  1398. package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +2 -0
  1399. package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +8 -0
  1400. package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +4 -0
  1401. package/node_modules/music-metadata/lib/musepack/MusepackParser.js +30 -0
  1402. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.d.ts +13 -0
  1403. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +46 -0
  1404. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -0
  1405. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +47 -0
  1406. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.d.ts +28 -0
  1407. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +39 -0
  1408. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -0
  1409. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +56 -0
  1410. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.d.ts +42 -0
  1411. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +82 -0
  1412. package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +2 -0
  1413. package/node_modules/music-metadata/lib/ogg/OggLoader.js +8 -0
  1414. package/node_modules/music-metadata/lib/ogg/OggParser.d.ts +27 -0
  1415. package/node_modules/music-metadata/lib/ogg/OggParser.js +125 -0
  1416. package/node_modules/music-metadata/lib/ogg/OggToken.d.ts +83 -0
  1417. package/node_modules/music-metadata/lib/ogg/OggToken.js +41 -0
  1418. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +29 -0
  1419. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +74 -0
  1420. package/node_modules/music-metadata/lib/ogg/opus/Opus.d.ts +63 -0
  1421. package/node_modules/music-metadata/lib/ogg/opus/Opus.js +27 -0
  1422. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +24 -0
  1423. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.js +56 -0
  1424. package/node_modules/music-metadata/lib/ogg/speex/Speex.d.ts +36 -0
  1425. package/node_modules/music-metadata/lib/ogg/speex/Speex.js +28 -0
  1426. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +20 -0
  1427. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +31 -0
  1428. package/node_modules/music-metadata/lib/ogg/theora/Theora.d.ts +20 -0
  1429. package/node_modules/music-metadata/lib/ogg/theora/Theora.js +20 -0
  1430. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +25 -0
  1431. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +39 -0
  1432. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +68 -0
  1433. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js +83 -0
  1434. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -0
  1435. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +29 -0
  1436. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +53 -0
  1437. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +136 -0
  1438. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -0
  1439. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +133 -0
  1440. package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +16 -0
  1441. package/node_modules/music-metadata/lib/riff/RiffChunk.js +28 -0
  1442. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +10 -0
  1443. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.js +34 -0
  1444. package/node_modules/music-metadata/lib/type.d.ts +661 -0
  1445. package/node_modules/music-metadata/lib/type.js +2 -0
  1446. package/node_modules/music-metadata/lib/wav/BwfChunk.d.ts +17 -0
  1447. package/node_modules/music-metadata/lib/wav/BwfChunk.js +26 -0
  1448. package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +94 -0
  1449. package/node_modules/music-metadata/lib/wav/WaveChunk.js +78 -0
  1450. package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +2 -0
  1451. package/node_modules/music-metadata/lib/wav/WaveLoader.js +8 -0
  1452. package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +24 -0
  1453. package/node_modules/music-metadata/lib/wav/WaveParser.js +170 -0
  1454. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +2 -0
  1455. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +8 -0
  1456. package/node_modules/music-metadata/lib/wavpack/WavPackParser.d.ts +30 -0
  1457. package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +109 -0
  1458. package/node_modules/music-metadata/lib/wavpack/WavPackToken.d.ts +60 -0
  1459. package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +70 -0
  1460. package/node_modules/music-metadata/node_modules/file-type/core.d.ts +253 -0
  1461. package/node_modules/music-metadata/node_modules/file-type/core.js +2899 -0
  1462. package/node_modules/music-metadata/node_modules/file-type/index.d.ts +98 -0
  1463. package/node_modules/music-metadata/node_modules/file-type/index.js +163 -0
  1464. package/node_modules/music-metadata/node_modules/file-type/license +9 -0
  1465. package/node_modules/music-metadata/node_modules/file-type/package.json +290 -0
  1466. package/node_modules/music-metadata/node_modules/file-type/readme.md +667 -0
  1467. package/node_modules/music-metadata/node_modules/file-type/supported.js +360 -0
  1468. package/node_modules/music-metadata/node_modules/file-type/util.js +60 -0
  1469. package/node_modules/music-metadata/node_modules/strtok3/LICENSE.txt +21 -0
  1470. package/node_modules/music-metadata/node_modules/strtok3/README.md +399 -0
  1471. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.d.ts +76 -0
  1472. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.js +111 -0
  1473. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.d.ts +29 -0
  1474. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.js +53 -0
  1475. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.d.ts +29 -0
  1476. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.js +52 -0
  1477. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.d.ts +37 -0
  1478. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.js +61 -0
  1479. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +34 -0
  1480. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.js +107 -0
  1481. package/node_modules/music-metadata/node_modules/strtok3/lib/core.d.ts +40 -0
  1482. package/node_modules/music-metadata/node_modules/strtok3/lib/core.js +62 -0
  1483. package/node_modules/music-metadata/node_modules/strtok3/lib/index.d.ts +16 -0
  1484. package/node_modules/music-metadata/node_modules/strtok3/lib/index.js +22 -0
  1485. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +54 -0
  1486. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.js +71 -0
  1487. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.d.ts +6 -0
  1488. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.js +10 -0
  1489. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.d.ts +10 -0
  1490. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.js +16 -0
  1491. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.d.ts +29 -0
  1492. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.js +83 -0
  1493. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +14 -0
  1494. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.js +27 -0
  1495. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +19 -0
  1496. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +62 -0
  1497. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +14 -0
  1498. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.js +13 -0
  1499. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +5 -0
  1500. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +19 -0
  1501. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.d.ts +6 -0
  1502. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.js +5 -0
  1503. package/node_modules/music-metadata/node_modules/strtok3/lib/types.d.ts +139 -0
  1504. package/node_modules/music-metadata/node_modules/strtok3/lib/types.js +1 -0
  1505. package/node_modules/music-metadata/node_modules/strtok3/package.json +94 -0
  1506. package/node_modules/music-metadata/node_modules/token-types/LICENSE.txt +9 -0
  1507. package/node_modules/music-metadata/node_modules/token-types/README.md +120 -0
  1508. package/node_modules/music-metadata/node_modules/token-types/lib/index.d.ts +135 -0
  1509. package/node_modules/music-metadata/node_modules/token-types/lib/index.js +401 -0
  1510. package/node_modules/music-metadata/node_modules/token-types/package.json +81 -0
  1511. package/node_modules/music-metadata/package.json +156 -0
  1512. package/node_modules/nth-check/LICENSE +11 -0
  1513. package/node_modules/nth-check/README.md +136 -0
  1514. package/node_modules/nth-check/lib/compile.d.ts +55 -0
  1515. package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
  1516. package/node_modules/nth-check/lib/compile.js +121 -0
  1517. package/node_modules/nth-check/lib/compile.js.map +1 -0
  1518. package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
  1519. package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
  1520. package/node_modules/nth-check/lib/esm/compile.js +113 -0
  1521. package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
  1522. package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
  1523. package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
  1524. package/node_modules/nth-check/lib/esm/index.js +63 -0
  1525. package/node_modules/nth-check/lib/esm/index.js.map +1 -0
  1526. package/node_modules/nth-check/lib/esm/package.json +1 -0
  1527. package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
  1528. package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
  1529. package/node_modules/nth-check/lib/esm/parse.js +73 -0
  1530. package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
  1531. package/node_modules/nth-check/lib/index.d.ts +59 -0
  1532. package/node_modules/nth-check/lib/index.d.ts.map +1 -0
  1533. package/node_modules/nth-check/lib/index.js +70 -0
  1534. package/node_modules/nth-check/lib/index.js.map +1 -0
  1535. package/node_modules/nth-check/lib/parse.d.ts +9 -0
  1536. package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
  1537. package/node_modules/nth-check/lib/parse.js +77 -0
  1538. package/node_modules/nth-check/lib/parse.js.map +1 -0
  1539. package/node_modules/nth-check/package.json +78 -0
  1540. package/node_modules/papaparse/.eslintrc.js +280 -0
  1541. package/node_modules/papaparse/.github/workflows/node.js.yml +29 -0
  1542. package/node_modules/papaparse/Gruntfile.js +27 -0
  1543. package/node_modules/papaparse/LICENSE +20 -0
  1544. package/node_modules/papaparse/README.md +77 -0
  1545. package/node_modules/papaparse/bower.json +40 -0
  1546. package/node_modules/papaparse/package.json +58 -0
  1547. package/node_modules/papaparse/papaparse.js +1945 -0
  1548. package/node_modules/papaparse/papaparse.min.js +7 -0
  1549. package/node_modules/papaparse/player/player.css +1045 -0
  1550. package/node_modules/papaparse/player/player.html +79 -0
  1551. package/node_modules/papaparse/player/player.js +181 -0
  1552. package/node_modules/papaparse/tests/.eslintrc.js +12 -0
  1553. package/node_modules/papaparse/tests/long-sample.csv +8 -0
  1554. package/node_modules/papaparse/tests/node-tests.js +302 -0
  1555. package/node_modules/papaparse/tests/sample-header.csv +3 -0
  1556. package/node_modules/papaparse/tests/sample.csv +2 -0
  1557. package/node_modules/papaparse/tests/test-cases.js +2840 -0
  1558. package/node_modules/papaparse/tests/test.js +20 -0
  1559. package/node_modules/papaparse/tests/tests.html +22 -0
  1560. package/node_modules/papaparse/tests/utf-8-bom-sample.csv +2 -0
  1561. package/node_modules/papaparse/tests/verylong-sample.csv +2001 -0
  1562. package/node_modules/parse5/LICENSE +19 -0
  1563. package/node_modules/parse5/README.md +38 -0
  1564. package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
  1565. package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  1566. package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
  1567. package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  1568. package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
  1569. package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  1570. package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
  1571. package/node_modules/parse5/dist/cjs/common/html.js +528 -0
  1572. package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
  1573. package/node_modules/parse5/dist/cjs/common/token.js +24 -0
  1574. package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
  1575. package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  1576. package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
  1577. package/node_modules/parse5/dist/cjs/index.js +54 -0
  1578. package/node_modules/parse5/dist/cjs/package.json +1 -0
  1579. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
  1580. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  1581. package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
  1582. package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  1583. package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
  1584. package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  1585. package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
  1586. package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  1587. package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
  1588. package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  1589. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
  1590. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  1591. package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
  1592. package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  1593. package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
  1594. package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  1595. package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
  1596. package/node_modules/parse5/dist/common/doctype.js +114 -0
  1597. package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
  1598. package/node_modules/parse5/dist/common/error-codes.js +63 -0
  1599. package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
  1600. package/node_modules/parse5/dist/common/foreign-content.js +228 -0
  1601. package/node_modules/parse5/dist/common/html.d.ts +289 -0
  1602. package/node_modules/parse5/dist/common/html.js +523 -0
  1603. package/node_modules/parse5/dist/common/token.d.ts +84 -0
  1604. package/node_modules/parse5/dist/common/token.js +20 -0
  1605. package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
  1606. package/node_modules/parse5/dist/common/unicode.js +62 -0
  1607. package/node_modules/parse5/dist/index.d.ts +71 -0
  1608. package/node_modules/parse5/dist/index.js +42 -0
  1609. package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
  1610. package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  1611. package/node_modules/parse5/dist/parser/index.d.ts +221 -0
  1612. package/node_modules/parse5/dist/parser/index.js +3245 -0
  1613. package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
  1614. package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  1615. package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
  1616. package/node_modules/parse5/dist/serializer/index.js +168 -0
  1617. package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
  1618. package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  1619. package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
  1620. package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  1621. package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
  1622. package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  1623. package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
  1624. package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  1625. package/node_modules/parse5/node_modules/entities/LICENSE +11 -0
  1626. package/node_modules/parse5/node_modules/entities/decode.d.ts +1 -0
  1627. package/node_modules/parse5/node_modules/entities/decode.js +3 -0
  1628. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  1629. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  1630. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  1631. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  1632. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
  1633. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  1634. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js +511 -0
  1635. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  1636. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  1637. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  1638. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js +73 -0
  1639. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  1640. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
  1641. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  1642. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js +121 -0
  1643. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  1644. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  1645. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  1646. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  1647. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  1648. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  1649. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  1650. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  1651. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  1652. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
  1653. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  1654. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  1655. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  1656. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  1657. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  1658. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js +131 -0
  1659. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js.map +1 -0
  1660. package/node_modules/parse5/node_modules/entities/dist/commonjs/package.json +3 -0
  1661. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  1662. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  1663. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  1664. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  1665. package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts +209 -0
  1666. package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  1667. package/node_modules/parse5/node_modules/entities/dist/esm/decode.js +497 -0
  1668. package/node_modules/parse5/node_modules/entities/dist/esm/decode.js.map +1 -0
  1669. package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts +22 -0
  1670. package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  1671. package/node_modules/parse5/node_modules/entities/dist/esm/encode.js +69 -0
  1672. package/node_modules/parse5/node_modules/entities/dist/esm/encode.js.map +1 -0
  1673. package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts +43 -0
  1674. package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  1675. package/node_modules/parse5/node_modules/entities/dist/esm/escape.js +117 -0
  1676. package/node_modules/parse5/node_modules/entities/dist/esm/escape.js.map +1 -0
  1677. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  1678. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  1679. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  1680. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  1681. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  1682. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  1683. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  1684. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  1685. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
  1686. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  1687. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  1688. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  1689. package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts +96 -0
  1690. package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  1691. package/node_modules/parse5/node_modules/entities/dist/esm/index.js +107 -0
  1692. package/node_modules/parse5/node_modules/entities/dist/esm/index.js.map +1 -0
  1693. package/node_modules/parse5/node_modules/entities/dist/esm/package.json +3 -0
  1694. package/node_modules/parse5/node_modules/entities/escape.d.ts +1 -0
  1695. package/node_modules/parse5/node_modules/entities/escape.js +3 -0
  1696. package/node_modules/parse5/node_modules/entities/package.json +118 -0
  1697. package/node_modules/parse5/node_modules/entities/readme.md +122 -0
  1698. package/node_modules/parse5/node_modules/entities/src/decode-codepoint.ts +81 -0
  1699. package/node_modules/parse5/node_modules/entities/src/decode.spec.ts +320 -0
  1700. package/node_modules/parse5/node_modules/entities/src/decode.ts +620 -0
  1701. package/node_modules/parse5/node_modules/entities/src/encode.spec.ts +78 -0
  1702. package/node_modules/parse5/node_modules/entities/src/encode.ts +77 -0
  1703. package/node_modules/parse5/node_modules/entities/src/escape.spec.ts +14 -0
  1704. package/node_modules/parse5/node_modules/entities/src/escape.ts +148 -0
  1705. package/node_modules/parse5/node_modules/entities/src/generated/.eslintrc.json +10 -0
  1706. package/node_modules/parse5/node_modules/entities/src/generated/decode-data-html.ts +8 -0
  1707. package/node_modules/parse5/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
  1708. package/node_modules/parse5/node_modules/entities/src/generated/encode-html.ts +17 -0
  1709. package/node_modules/parse5/node_modules/entities/src/index.spec.ts +125 -0
  1710. package/node_modules/parse5/node_modules/entities/src/index.ts +188 -0
  1711. package/node_modules/parse5/package.json +50 -0
  1712. package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +19 -0
  1713. package/node_modules/parse5-htmlparser2-tree-adapter/README.md +34 -0
  1714. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts +6 -0
  1715. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js +214 -0
  1716. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json +1 -0
  1717. package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts +6 -0
  1718. package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js +213 -0
  1719. package/node_modules/parse5-htmlparser2-tree-adapter/package.json +40 -0
  1720. package/node_modules/parse5-parser-stream/LICENSE +19 -0
  1721. package/node_modules/parse5-parser-stream/README.md +34 -0
  1722. package/node_modules/parse5-parser-stream/dist/cjs/index.d.ts +85 -0
  1723. package/node_modules/parse5-parser-stream/dist/cjs/index.js +90 -0
  1724. package/node_modules/parse5-parser-stream/dist/cjs/package.json +1 -0
  1725. package/node_modules/parse5-parser-stream/dist/index.d.ts +85 -0
  1726. package/node_modules/parse5-parser-stream/dist/index.js +86 -0
  1727. package/node_modules/parse5-parser-stream/package.json +39 -0
  1728. package/node_modules/readable-web-to-node-stream/README.md +70 -0
  1729. package/node_modules/readable-web-to-node-stream/lib/index.d.ts +39 -0
  1730. package/node_modules/readable-web-to-node-stream/lib/index.js +73 -0
  1731. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/LICENSE +47 -0
  1732. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/README.md +116 -0
  1733. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  1734. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  1735. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  1736. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  1737. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  1738. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  1739. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  1740. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  1741. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  1742. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  1743. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  1744. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  1745. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  1746. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  1747. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +89 -0
  1748. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  1749. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  1750. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  1751. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  1752. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  1753. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  1754. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  1755. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  1756. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
  1757. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
  1758. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
  1759. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
  1760. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  1761. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  1762. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
  1763. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
  1764. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/stream.js +143 -0
  1765. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/package.json +88 -0
  1766. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/LICENSE +21 -0
  1767. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/README.md +584 -0
  1768. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/index.d.ts +187 -0
  1769. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/index.js +65 -0
  1770. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/package.json +51 -0
  1771. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/LICENSE +48 -0
  1772. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/README.md +47 -0
  1773. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1774. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/package.json +34 -0
  1775. package/node_modules/readable-web-to-node-stream/package.json +84 -0
  1776. package/node_modules/sax/LICENSE.md +55 -0
  1777. package/node_modules/sax/README.md +227 -0
  1778. package/node_modules/sax/lib/sax.js +1848 -0
  1779. package/node_modules/sax/package.json +34 -0
  1780. package/node_modules/ssf/LICENSE +201 -0
  1781. package/node_modules/ssf/README.md +119 -0
  1782. package/node_modules/ssf/package.json +57 -0
  1783. package/node_modules/ssf/ssf.flow.js +980 -0
  1784. package/node_modules/ssf/ssf.js +966 -0
  1785. package/node_modules/ssf/types/index.d.ts +56 -0
  1786. package/node_modules/ssf/types/tsconfig.json +15 -0
  1787. package/node_modules/strtok3/LICENSE +15 -0
  1788. package/node_modules/strtok3/README.md +304 -0
  1789. package/node_modules/strtok3/lib/AbstractTokenizer.d.ts +69 -0
  1790. package/node_modules/strtok3/lib/AbstractTokenizer.js +104 -0
  1791. package/node_modules/strtok3/lib/BufferTokenizer.d.ts +26 -0
  1792. package/node_modules/strtok3/lib/BufferTokenizer.js +55 -0
  1793. package/node_modules/strtok3/lib/FileTokenizer.d.ts +22 -0
  1794. package/node_modules/strtok3/lib/FileTokenizer.js +55 -0
  1795. package/node_modules/strtok3/lib/FsPromise.d.ts +18 -0
  1796. package/node_modules/strtok3/lib/FsPromise.js +79 -0
  1797. package/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +28 -0
  1798. package/node_modules/strtok3/lib/ReadStreamTokenizer.js +98 -0
  1799. package/node_modules/strtok3/lib/core.d.ts +23 -0
  1800. package/node_modules/strtok3/lib/core.js +29 -0
  1801. package/node_modules/strtok3/lib/index.d.ts +15 -0
  1802. package/node_modules/strtok3/lib/index.js +27 -0
  1803. package/node_modules/strtok3/lib/types.d.ts +103 -0
  1804. package/node_modules/strtok3/lib/types.js +2 -0
  1805. package/node_modules/strtok3/package.json +103 -0
  1806. package/node_modules/token-types/LICENSE +7 -0
  1807. package/node_modules/token-types/README.md +115 -0
  1808. package/node_modules/token-types/lib/index.d.ts +150 -0
  1809. package/node_modules/token-types/lib/index.js +455 -0
  1810. package/node_modules/token-types/package.json +93 -0
  1811. package/node_modules/undici/LICENSE +21 -0
  1812. package/node_modules/undici/README.md +741 -0
  1813. package/node_modules/undici/docs/docs/api/Agent.md +84 -0
  1814. package/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  1815. package/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  1816. package/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  1817. package/node_modules/undici/docs/docs/api/Client.md +285 -0
  1818. package/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  1819. package/node_modules/undici/docs/docs/api/Connector.md +115 -0
  1820. package/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  1821. package/node_modules/undici/docs/docs/api/Cookies.md +101 -0
  1822. package/node_modules/undici/docs/docs/api/Debug.md +62 -0
  1823. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
  1824. package/node_modules/undici/docs/docs/api/Dispatcher.md +1392 -0
  1825. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  1826. package/node_modules/undici/docs/docs/api/Errors.md +49 -0
  1827. package/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  1828. package/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  1829. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  1830. package/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  1831. package/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  1832. package/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  1833. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  1834. package/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  1835. package/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  1836. package/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  1837. package/node_modules/undici/docs/docs/api/Pool.md +84 -0
  1838. package/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  1839. package/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  1840. package/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  1841. package/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  1842. package/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  1843. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  1844. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  1845. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +274 -0
  1846. package/node_modules/undici/docs/docs/api/Util.md +25 -0
  1847. package/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  1848. package/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  1849. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  1850. package/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
  1851. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  1852. package/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  1853. package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
  1854. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  1855. package/node_modules/undici/index-fetch.js +65 -0
  1856. package/node_modules/undici/index.d.ts +3 -0
  1857. package/node_modules/undici/index.js +234 -0
  1858. package/node_modules/undici/lib/api/abort-signal.js +59 -0
  1859. package/node_modules/undici/lib/api/api-connect.js +110 -0
  1860. package/node_modules/undici/lib/api/api-pipeline.js +252 -0
  1861. package/node_modules/undici/lib/api/api-request.js +214 -0
  1862. package/node_modules/undici/lib/api/api-stream.js +209 -0
  1863. package/node_modules/undici/lib/api/api-upgrade.js +111 -0
  1864. package/node_modules/undici/lib/api/index.js +7 -0
  1865. package/node_modules/undici/lib/api/readable.js +580 -0
  1866. package/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  1867. package/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
  1868. package/node_modules/undici/lib/core/connect.js +137 -0
  1869. package/node_modules/undici/lib/core/constants.js +143 -0
  1870. package/node_modules/undici/lib/core/diagnostics.js +227 -0
  1871. package/node_modules/undici/lib/core/errors.js +477 -0
  1872. package/node_modules/undici/lib/core/request.js +438 -0
  1873. package/node_modules/undici/lib/core/socks5-client.js +407 -0
  1874. package/node_modules/undici/lib/core/socks5-utils.js +203 -0
  1875. package/node_modules/undici/lib/core/symbols.js +75 -0
  1876. package/node_modules/undici/lib/core/tree.js +160 -0
  1877. package/node_modules/undici/lib/core/util.js +992 -0
  1878. package/node_modules/undici/lib/dispatcher/agent.js +158 -0
  1879. package/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  1880. package/node_modules/undici/lib/dispatcher/client-h1.js +1610 -0
  1881. package/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  1882. package/node_modules/undici/lib/dispatcher/client.js +659 -0
  1883. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
  1884. package/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  1885. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  1886. package/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  1887. package/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  1888. package/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  1889. package/node_modules/undici/lib/dispatcher/pool.js +118 -0
  1890. package/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
  1891. package/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  1892. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  1893. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
  1894. package/node_modules/undici/lib/encoding/index.js +33 -0
  1895. package/node_modules/undici/lib/global.js +50 -0
  1896. package/node_modules/undici/lib/handler/cache-handler.js +578 -0
  1897. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  1898. package/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  1899. package/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  1900. package/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  1901. package/node_modules/undici/lib/handler/retry-handler.js +394 -0
  1902. package/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
  1903. package/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  1904. package/node_modules/undici/lib/interceptor/cache.js +495 -0
  1905. package/node_modules/undici/lib/interceptor/decompress.js +259 -0
  1906. package/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  1907. package/node_modules/undici/lib/interceptor/dns.js +571 -0
  1908. package/node_modules/undici/lib/interceptor/dump.js +112 -0
  1909. package/node_modules/undici/lib/interceptor/redirect.js +21 -0
  1910. package/node_modules/undici/lib/interceptor/response-error.js +95 -0
  1911. package/node_modules/undici/lib/interceptor/retry.js +19 -0
  1912. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  1913. package/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
  1914. package/node_modules/undici/lib/llhttp/constants.js +531 -0
  1915. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  1916. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  1917. package/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
  1918. package/node_modules/undici/lib/llhttp/utils.js +12 -0
  1919. package/node_modules/undici/lib/mock/mock-agent.js +232 -0
  1920. package/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  1921. package/node_modules/undici/lib/mock/mock-client.js +68 -0
  1922. package/node_modules/undici/lib/mock/mock-errors.js +29 -0
  1923. package/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  1924. package/node_modules/undici/lib/mock/mock-pool.js +68 -0
  1925. package/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  1926. package/node_modules/undici/lib/mock/mock-utils.js +486 -0
  1927. package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  1928. package/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  1929. package/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  1930. package/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  1931. package/node_modules/undici/lib/util/cache.js +407 -0
  1932. package/node_modules/undici/lib/util/date.js +653 -0
  1933. package/node_modules/undici/lib/util/promise.js +28 -0
  1934. package/node_modules/undici/lib/util/runtime-features.js +124 -0
  1935. package/node_modules/undici/lib/util/stats.js +32 -0
  1936. package/node_modules/undici/lib/util/timers.js +425 -0
  1937. package/node_modules/undici/lib/web/cache/cache.js +864 -0
  1938. package/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  1939. package/node_modules/undici/lib/web/cache/util.js +45 -0
  1940. package/node_modules/undici/lib/web/cookies/constants.js +12 -0
  1941. package/node_modules/undici/lib/web/cookies/index.js +199 -0
  1942. package/node_modules/undici/lib/web/cookies/parse.js +322 -0
  1943. package/node_modules/undici/lib/web/cookies/util.js +282 -0
  1944. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  1945. package/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  1946. package/node_modules/undici/lib/web/eventsource/util.js +29 -0
  1947. package/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  1948. package/node_modules/undici/lib/web/fetch/body.js +509 -0
  1949. package/node_modules/undici/lib/web/fetch/constants.js +131 -0
  1950. package/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  1951. package/node_modules/undici/lib/web/fetch/formdata-parser.js +575 -0
  1952. package/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  1953. package/node_modules/undici/lib/web/fetch/global.js +40 -0
  1954. package/node_modules/undici/lib/web/fetch/headers.js +719 -0
  1955. package/node_modules/undici/lib/web/fetch/index.js +2397 -0
  1956. package/node_modules/undici/lib/web/fetch/request.js +1115 -0
  1957. package/node_modules/undici/lib/web/fetch/response.js +641 -0
  1958. package/node_modules/undici/lib/web/fetch/util.js +1520 -0
  1959. package/node_modules/undici/lib/web/infra/index.js +229 -0
  1960. package/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  1961. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  1962. package/node_modules/undici/lib/web/webidl/index.js +1006 -0
  1963. package/node_modules/undici/lib/web/websocket/connection.js +329 -0
  1964. package/node_modules/undici/lib/web/websocket/constants.js +126 -0
  1965. package/node_modules/undici/lib/web/websocket/events.js +331 -0
  1966. package/node_modules/undici/lib/web/websocket/frame.js +133 -0
  1967. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
  1968. package/node_modules/undici/lib/web/websocket/receiver.js +450 -0
  1969. package/node_modules/undici/lib/web/websocket/sender.js +109 -0
  1970. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  1971. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +497 -0
  1972. package/node_modules/undici/lib/web/websocket/util.js +347 -0
  1973. package/node_modules/undici/lib/web/websocket/websocket.js +751 -0
  1974. package/node_modules/undici/package.json +152 -0
  1975. package/node_modules/undici/scripts/strip-comments.js +10 -0
  1976. package/node_modules/undici/types/README.md +6 -0
  1977. package/node_modules/undici/types/agent.d.ts +32 -0
  1978. package/node_modules/undici/types/api.d.ts +43 -0
  1979. package/node_modules/undici/types/balanced-pool.d.ts +30 -0
  1980. package/node_modules/undici/types/cache-interceptor.d.ts +179 -0
  1981. package/node_modules/undici/types/cache.d.ts +36 -0
  1982. package/node_modules/undici/types/client-stats.d.ts +15 -0
  1983. package/node_modules/undici/types/client.d.ts +123 -0
  1984. package/node_modules/undici/types/connector.d.ts +36 -0
  1985. package/node_modules/undici/types/content-type.d.ts +21 -0
  1986. package/node_modules/undici/types/cookies.d.ts +30 -0
  1987. package/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  1988. package/node_modules/undici/types/dispatcher.d.ts +273 -0
  1989. package/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  1990. package/node_modules/undici/types/errors.d.ts +177 -0
  1991. package/node_modules/undici/types/eventsource.d.ts +66 -0
  1992. package/node_modules/undici/types/fetch.d.ts +231 -0
  1993. package/node_modules/undici/types/formdata.d.ts +114 -0
  1994. package/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  1995. package/node_modules/undici/types/global-origin.d.ts +7 -0
  1996. package/node_modules/undici/types/h2c-client.d.ts +73 -0
  1997. package/node_modules/undici/types/handlers.d.ts +14 -0
  1998. package/node_modules/undici/types/header.d.ts +160 -0
  1999. package/node_modules/undici/types/index.d.ts +91 -0
  2000. package/node_modules/undici/types/interceptors.d.ts +80 -0
  2001. package/node_modules/undici/types/mock-agent.d.ts +68 -0
  2002. package/node_modules/undici/types/mock-call-history.d.ts +111 -0
  2003. package/node_modules/undici/types/mock-client.d.ts +27 -0
  2004. package/node_modules/undici/types/mock-errors.d.ts +12 -0
  2005. package/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  2006. package/node_modules/undici/types/mock-pool.d.ts +27 -0
  2007. package/node_modules/undici/types/patch.d.ts +29 -0
  2008. package/node_modules/undici/types/pool-stats.d.ts +19 -0
  2009. package/node_modules/undici/types/pool.d.ts +41 -0
  2010. package/node_modules/undici/types/proxy-agent.d.ts +29 -0
  2011. package/node_modules/undici/types/readable.d.ts +68 -0
  2012. package/node_modules/undici/types/retry-agent.d.ts +8 -0
  2013. package/node_modules/undici/types/retry-handler.d.ts +125 -0
  2014. package/node_modules/undici/types/round-robin-pool.d.ts +41 -0
  2015. package/node_modules/undici/types/snapshot-agent.d.ts +109 -0
  2016. package/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
  2017. package/node_modules/undici/types/util.d.ts +18 -0
  2018. package/node_modules/undici/types/utility.d.ts +7 -0
  2019. package/node_modules/undici/types/webidl.d.ts +347 -0
  2020. package/node_modules/undici/types/websocket.d.ts +188 -0
  2021. package/node_modules/unpdf/LICENSE +21 -0
  2022. package/node_modules/unpdf/README.md +371 -0
  2023. package/node_modules/unpdf/dist/index.cjs +340 -0
  2024. package/node_modules/unpdf/dist/index.d.cts +152 -0
  2025. package/node_modules/unpdf/dist/index.d.mts +152 -0
  2026. package/node_modules/unpdf/dist/index.d.ts +152 -0
  2027. package/node_modules/unpdf/dist/index.mjs +328 -0
  2028. package/node_modules/unpdf/dist/pdfjs.d.mts +1 -0
  2029. package/node_modules/unpdf/dist/pdfjs.d.ts +1 -0
  2030. package/node_modules/unpdf/dist/pdfjs.mjs +1 -0
  2031. package/node_modules/unpdf/dist/types/src/display/annotation_layer.d.ts +271 -0
  2032. package/node_modules/unpdf/dist/types/src/display/annotation_storage.d.ts +94 -0
  2033. package/node_modules/unpdf/dist/types/src/display/api.d.ts +1595 -0
  2034. package/node_modules/unpdf/dist/types/src/display/api_utils.d.ts +13 -0
  2035. package/node_modules/unpdf/dist/types/src/display/canvas.d.ts +207 -0
  2036. package/node_modules/unpdf/dist/types/src/display/canvas_dependency_tracker.d.ts +160 -0
  2037. package/node_modules/unpdf/dist/types/src/display/canvas_factory.d.ts +27 -0
  2038. package/node_modules/unpdf/dist/types/src/display/cmap_reader_factory.d.ts +25 -0
  2039. package/node_modules/unpdf/dist/types/src/display/content_disposition.d.ts +7 -0
  2040. package/node_modules/unpdf/dist/types/src/display/display_utils.d.ts +280 -0
  2041. package/node_modules/unpdf/dist/types/src/display/draw_layer.d.ts +26 -0
  2042. package/node_modules/unpdf/dist/types/src/display/editor/alt_text.d.ts +34 -0
  2043. package/node_modules/unpdf/dist/types/src/display/editor/annotation_editor_layer.d.ts +232 -0
  2044. package/node_modules/unpdf/dist/types/src/display/editor/color_picker.d.ts +39 -0
  2045. package/node_modules/unpdf/dist/types/src/display/editor/comment.d.ts +47 -0
  2046. package/node_modules/unpdf/dist/types/src/display/editor/draw.d.ts +121 -0
  2047. package/node_modules/unpdf/dist/types/src/display/editor/drawers/contour.d.ts +3 -0
  2048. package/node_modules/unpdf/dist/types/src/display/editor/drawers/freedraw.d.ts +32 -0
  2049. package/node_modules/unpdf/dist/types/src/display/editor/drawers/highlight.d.ts +37 -0
  2050. package/node_modules/unpdf/dist/types/src/display/editor/drawers/inkdraw.d.ts +129 -0
  2051. package/node_modules/unpdf/dist/types/src/display/editor/drawers/outline.d.ts +19 -0
  2052. package/node_modules/unpdf/dist/types/src/display/editor/drawers/signaturedraw.d.ts +79 -0
  2053. package/node_modules/unpdf/dist/types/src/display/editor/editor.d.ts +575 -0
  2054. package/node_modules/unpdf/dist/types/src/display/editor/freetext.d.ts +63 -0
  2055. package/node_modules/unpdf/dist/types/src/display/editor/highlight.d.ts +76 -0
  2056. package/node_modules/unpdf/dist/types/src/display/editor/ink.d.ts +42 -0
  2057. package/node_modules/unpdf/dist/types/src/display/editor/signature.d.ts +77 -0
  2058. package/node_modules/unpdf/dist/types/src/display/editor/stamp.d.ts +49 -0
  2059. package/node_modules/unpdf/dist/types/src/display/editor/toolbar.d.ts +26 -0
  2060. package/node_modules/unpdf/dist/types/src/display/editor/tools.d.ts +448 -0
  2061. package/node_modules/unpdf/dist/types/src/display/fetch_stream.d.ts +60 -0
  2062. package/node_modules/unpdf/dist/types/src/display/filter_factory.d.ts +29 -0
  2063. package/node_modules/unpdf/dist/types/src/display/font_loader.d.ts +65 -0
  2064. package/node_modules/unpdf/dist/types/src/display/metadata.d.ts +10 -0
  2065. package/node_modules/unpdf/dist/types/src/display/network.d.ts +86 -0
  2066. package/node_modules/unpdf/dist/types/src/display/network_utils.d.ts +15 -0
  2067. package/node_modules/unpdf/dist/types/src/display/node_stream.d.ts +54 -0
  2068. package/node_modules/unpdf/dist/types/src/display/node_utils.d.ts +32 -0
  2069. package/node_modules/unpdf/dist/types/src/display/optional_content_config.d.ts +18 -0
  2070. package/node_modules/unpdf/dist/types/src/display/pattern_helper.d.ts +75 -0
  2071. package/node_modules/unpdf/dist/types/src/display/pdf_objects.d.ts +40 -0
  2072. package/node_modules/unpdf/dist/types/src/display/standard_fontdata_factory.d.ts +20 -0
  2073. package/node_modules/unpdf/dist/types/src/display/svg_factory.d.ts +14 -0
  2074. package/node_modules/unpdf/dist/types/src/display/text_layer.d.ts +85 -0
  2075. package/node_modules/unpdf/dist/types/src/display/touch_manager.d.ts +18 -0
  2076. package/node_modules/unpdf/dist/types/src/display/transport_stream.d.ts +67 -0
  2077. package/node_modules/unpdf/dist/types/src/display/wasm_factory.d.ts +20 -0
  2078. package/node_modules/unpdf/dist/types/src/display/worker_options.d.ts +25 -0
  2079. package/node_modules/unpdf/dist/types/src/display/xfa_layer.d.ts +47 -0
  2080. package/node_modules/unpdf/dist/types/src/display/xfa_text.d.ts +21 -0
  2081. package/node_modules/unpdf/dist/types/src/interfaces.d.ts +122 -0
  2082. package/node_modules/unpdf/dist/types/src/pdf.d.ts +63 -0
  2083. package/node_modules/unpdf/dist/types/src/shared/image_utils.d.ts +17 -0
  2084. package/node_modules/unpdf/dist/types/src/shared/message_handler.d.ts +48 -0
  2085. package/node_modules/unpdf/dist/types/src/shared/murmurhash3.d.ts +7 -0
  2086. package/node_modules/unpdf/dist/types/src/shared/obj-bin-transform.d.ts +64 -0
  2087. package/node_modules/unpdf/dist/types/src/shared/scripting_utils.d.ts +18 -0
  2088. package/node_modules/unpdf/dist/types/src/shared/util.d.ts +415 -0
  2089. package/node_modules/unpdf/dist/types/web/annotation_editor_layer_builder.d.ts +65 -0
  2090. package/node_modules/unpdf/dist/types/web/annotation_layer_builder.d.ts +108 -0
  2091. package/node_modules/unpdf/dist/types/web/app_options.d.ts +16 -0
  2092. package/node_modules/unpdf/dist/types/web/autolinker.d.ts +28 -0
  2093. package/node_modules/unpdf/dist/types/web/base_pdf_page_view.d.ts +28 -0
  2094. package/node_modules/unpdf/dist/types/web/comment_manager.d.ts +20 -0
  2095. package/node_modules/unpdf/dist/types/web/download_manager.d.ts +13 -0
  2096. package/node_modules/unpdf/dist/types/web/draw_layer_builder.d.ts +34 -0
  2097. package/node_modules/unpdf/dist/types/web/event_utils.d.ts +77 -0
  2098. package/node_modules/unpdf/dist/types/web/generic_scripting.d.ts +8 -0
  2099. package/node_modules/unpdf/dist/types/web/genericl10n.d.ts +22 -0
  2100. package/node_modules/unpdf/dist/types/web/interfaces.d.ts +174 -0
  2101. package/node_modules/unpdf/dist/types/web/l10n.d.ts +34 -0
  2102. package/node_modules/unpdf/dist/types/web/pdf_find_controller.d.ts +134 -0
  2103. package/node_modules/unpdf/dist/types/web/pdf_find_utils.d.ts +16 -0
  2104. package/node_modules/unpdf/dist/types/web/pdf_history.d.ts +116 -0
  2105. package/node_modules/unpdf/dist/types/web/pdf_link_service.d.ts +147 -0
  2106. package/node_modules/unpdf/dist/types/web/pdf_page_detail_view.d.ts +33 -0
  2107. package/node_modules/unpdf/dist/types/web/pdf_page_view.d.ts +243 -0
  2108. package/node_modules/unpdf/dist/types/web/pdf_rendering_queue.d.ts +54 -0
  2109. package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.component.d.ts +5 -0
  2110. package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.d.ts +57 -0
  2111. package/node_modules/unpdf/dist/types/web/pdf_single_page_viewer.d.ts +7 -0
  2112. package/node_modules/unpdf/dist/types/web/pdf_thumbnail_view.d.ts +132 -0
  2113. package/node_modules/unpdf/dist/types/web/pdf_thumbnail_viewer.d.ts +117 -0
  2114. package/node_modules/unpdf/dist/types/web/pdf_viewer.component.d.ts +23 -0
  2115. package/node_modules/unpdf/dist/types/web/pdf_viewer.d.ts +616 -0
  2116. package/node_modules/unpdf/dist/types/web/struct_tree_layer_builder.d.ts +25 -0
  2117. package/node_modules/unpdf/dist/types/web/text_accessibility.d.ts +44 -0
  2118. package/node_modules/unpdf/dist/types/web/text_highlighter.d.ts +63 -0
  2119. package/node_modules/unpdf/dist/types/web/text_layer_builder.d.ts +65 -0
  2120. package/node_modules/unpdf/dist/types/web/ui_utils.d.ts +273 -0
  2121. package/node_modules/unpdf/dist/types/web/xfa_layer_builder.d.ts +50 -0
  2122. package/node_modules/unpdf/package.json +92 -0
  2123. package/node_modules/whatwg-encoding/LICENSE.txt +7 -0
  2124. package/node_modules/whatwg-encoding/README.md +50 -0
  2125. package/node_modules/whatwg-encoding/lib/labels-to-names.json +217 -0
  2126. package/node_modules/whatwg-encoding/lib/supported-names.json +38 -0
  2127. package/node_modules/whatwg-encoding/lib/whatwg-encoding.js +60 -0
  2128. package/node_modules/whatwg-encoding/package.json +32 -0
  2129. package/node_modules/whatwg-mimetype/LICENSE.txt +7 -0
  2130. package/node_modules/whatwg-mimetype/README.md +101 -0
  2131. package/node_modules/whatwg-mimetype/lib/mime-type-parameters.js +70 -0
  2132. package/node_modules/whatwg-mimetype/lib/mime-type.js +127 -0
  2133. package/node_modules/whatwg-mimetype/lib/parser.js +105 -0
  2134. package/node_modules/whatwg-mimetype/lib/serializer.js +25 -0
  2135. package/node_modules/whatwg-mimetype/lib/utils.js +60 -0
  2136. package/node_modules/whatwg-mimetype/package.json +45 -0
  2137. package/node_modules/wmf/LICENSE +201 -0
  2138. package/node_modules/wmf/README.md +92 -0
  2139. package/node_modules/wmf/dist/wmf.js +2 -0
  2140. package/node_modules/wmf/dist/wmf.js.map +1 -0
  2141. package/node_modules/wmf/dist/wmf.node.js +2 -0
  2142. package/node_modules/wmf/dist/wmf.node.js.map +1 -0
  2143. package/node_modules/wmf/package.json +68 -0
  2144. package/node_modules/word/CONTRIBUTING.md +61 -0
  2145. package/node_modules/word/LICENSE +201 -0
  2146. package/node_modules/word/README.md +2 -0
  2147. package/node_modules/word/package.json +29 -0
  2148. package/node_modules/word/word.js +1 -0
  2149. package/node_modules/xlsx/CHANGELOG.md +264 -0
  2150. package/node_modules/xlsx/LICENSE +201 -0
  2151. package/node_modules/xlsx/README.md +4504 -0
  2152. package/node_modules/xlsx/bin/xlsx.njs +310 -0
  2153. package/node_modules/xlsx/bower.json +22 -0
  2154. package/node_modules/xlsx/dist/LICENSE +201 -0
  2155. package/node_modules/xlsx/dist/cpexcel.full.mjs +1502 -0
  2156. package/node_modules/xlsx/dist/cpexcel.js +1506 -0
  2157. package/node_modules/xlsx/dist/shim.min.js +2 -0
  2158. package/node_modules/xlsx/dist/xlsx.core.min.js +15 -0
  2159. package/node_modules/xlsx/dist/xlsx.core.min.map +1 -0
  2160. package/node_modules/xlsx/dist/xlsx.extendscript.js +24642 -0
  2161. package/node_modules/xlsx/dist/xlsx.full.min.js +22 -0
  2162. package/node_modules/xlsx/dist/xlsx.full.min.map +1 -0
  2163. package/node_modules/xlsx/dist/xlsx.mini.min.js +9 -0
  2164. package/node_modules/xlsx/dist/xlsx.mini.min.map +1 -0
  2165. package/node_modules/xlsx/dist/xlsx.zahl.js +4 -0
  2166. package/node_modules/xlsx/dist/xlsx.zahl.mjs +2 -0
  2167. package/node_modules/xlsx/formats.png +0 -0
  2168. package/node_modules/xlsx/legend.png +0 -0
  2169. package/node_modules/xlsx/package.json +101 -0
  2170. package/node_modules/xlsx/types/index.d.ts +900 -0
  2171. package/node_modules/xlsx/types/tsconfig.json +15 -0
  2172. package/node_modules/xlsx/xlsx.js +24486 -0
  2173. package/node_modules/xlsx/xlsx.mjs +24597 -0
  2174. package/node_modules/xlsx/xlsxworker.js +14 -0
  2175. package/node_modules/xml2js/LICENSE +19 -0
  2176. package/node_modules/xml2js/README.md +507 -0
  2177. package/node_modules/xml2js/lib/bom.js +12 -0
  2178. package/node_modules/xml2js/lib/builder.js +127 -0
  2179. package/node_modules/xml2js/lib/defaults.js +72 -0
  2180. package/node_modules/xml2js/lib/parser.js +395 -0
  2181. package/node_modules/xml2js/lib/processors.js +34 -0
  2182. package/node_modules/xml2js/lib/xml2js.bc.js +28337 -0
  2183. package/node_modules/xml2js/lib/xml2js.js +39 -0
  2184. package/node_modules/xml2js/node_modules/xmlbuilder/CHANGELOG.md +470 -0
  2185. package/node_modules/xml2js/node_modules/xmlbuilder/LICENSE +21 -0
  2186. package/node_modules/xml2js/node_modules/xmlbuilder/README.md +86 -0
  2187. package/node_modules/xml2js/node_modules/xmlbuilder/appveyor.yml +20 -0
  2188. package/node_modules/xml2js/node_modules/xmlbuilder/lib/Derivation.js +10 -0
  2189. package/node_modules/xml2js/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
  2190. package/node_modules/xml2js/node_modules/xmlbuilder/lib/NodeType.js +23 -0
  2191. package/node_modules/xml2js/node_modules/xmlbuilder/lib/OperationType.js +11 -0
  2192. package/node_modules/xml2js/node_modules/xmlbuilder/lib/Utility.js +83 -0
  2193. package/node_modules/xml2js/node_modules/xmlbuilder/lib/WriterState.js +10 -0
  2194. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLAttribute.js +108 -0
  2195. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLCData.js +36 -0
  2196. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLCharacterData.js +79 -0
  2197. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLComment.js +36 -0
  2198. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +64 -0
  2199. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +16 -0
  2200. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +32 -0
  2201. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMStringList.js +28 -0
  2202. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDAttList.js +55 -0
  2203. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDElement.js +38 -0
  2204. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDEntity.js +97 -0
  2205. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDNotation.js +52 -0
  2206. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDeclaration.js +43 -0
  2207. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocType.js +186 -0
  2208. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocument.js +242 -0
  2209. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocumentCB.js +528 -0
  2210. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +24 -0
  2211. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDummy.js +31 -0
  2212. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLElement.js +298 -0
  2213. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +58 -0
  2214. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNode.js +785 -0
  2215. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNodeFilter.js +48 -0
  2216. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNodeList.js +28 -0
  2217. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +49 -0
  2218. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLRaw.js +35 -0
  2219. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStreamWriter.js +176 -0
  2220. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStringWriter.js +35 -0
  2221. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStringifier.js +240 -0
  2222. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLText.js +69 -0
  2223. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLTypeInfo.js +21 -0
  2224. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +16 -0
  2225. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLWriterBase.js +428 -0
  2226. package/node_modules/xml2js/node_modules/xmlbuilder/lib/index.js +65 -0
  2227. package/node_modules/xml2js/node_modules/xmlbuilder/package.json +39 -0
  2228. package/node_modules/xml2js/node_modules/xmlbuilder/typings/index.d.ts +153 -0
  2229. package/node_modules/xml2js/package.json +93 -0
  2230. package/package.json +52 -2
@@ -0,0 +1,2397 @@
1
+ // https://github.com/Ethan-Arrowood/undici-fetch
2
+
3
+ 'use strict'
4
+
5
+ const {
6
+ makeNetworkError,
7
+ makeAppropriateNetworkError,
8
+ filterResponse,
9
+ makeResponse,
10
+ fromInnerResponse,
11
+ getResponseState
12
+ } = require('./response')
13
+ const { HeadersList } = require('./headers')
14
+ const { Request, cloneRequest, getRequestDispatcher, getRequestState } = require('./request')
15
+ const zlib = require('node:zlib')
16
+ const {
17
+ makePolicyContainer,
18
+ clonePolicyContainer,
19
+ requestBadPort,
20
+ TAOCheck,
21
+ appendRequestOriginHeader,
22
+ responseLocationURL,
23
+ requestCurrentURL,
24
+ setRequestReferrerPolicyOnRedirect,
25
+ tryUpgradeRequestToAPotentiallyTrustworthyURL,
26
+ createOpaqueTimingInfo,
27
+ appendFetchMetadata,
28
+ corsCheck,
29
+ crossOriginResourcePolicyCheck,
30
+ determineRequestsReferrer,
31
+ coarsenedSharedCurrentTime,
32
+ sameOrigin,
33
+ isCancelled,
34
+ isAborted,
35
+ isErrorLike,
36
+ fullyReadBody,
37
+ readableStreamClose,
38
+ urlIsLocal,
39
+ urlIsHttpHttpsScheme,
40
+ urlHasHttpsScheme,
41
+ clampAndCoarsenConnectionTimingInfo,
42
+ simpleRangeHeaderValue,
43
+ buildContentRange,
44
+ createInflate,
45
+ extractMimeType,
46
+ hasAuthenticationEntry,
47
+ includesCredentials,
48
+ isTraversableNavigable
49
+ } = require('./util')
50
+ const assert = require('node:assert')
51
+ const { safelyExtractBody, extractBody } = require('./body')
52
+ const {
53
+ redirectStatusSet,
54
+ nullBodyStatus,
55
+ safeMethodsSet,
56
+ requestBodyHeader,
57
+ subresourceSet
58
+ } = require('./constants')
59
+ const EE = require('node:events')
60
+ const { Readable, pipeline, finished, isErrored, isReadable } = require('node:stream')
61
+ const { addAbortListener, bufferToLowerCasedHeaderName } = require('../../core/util')
62
+ const { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require('./data-url')
63
+ const { getGlobalDispatcher } = require('../../global')
64
+ const { webidl } = require('../webidl')
65
+ const { STATUS_CODES } = require('node:http')
66
+ const { bytesMatch } = require('../subresource-integrity/subresource-integrity')
67
+ const { createDeferredPromise } = require('../../util/promise')
68
+ const { isomorphicEncode } = require('../infra')
69
+ const { runtimeFeatures } = require('../../util/runtime-features')
70
+
71
+ // Node.js v23.8.0+ and v22.15.0+ supports Zstandard
72
+ const hasZstd = runtimeFeatures.has('zstd')
73
+
74
+ const GET_OR_HEAD = ['GET', 'HEAD']
75
+
76
+ const defaultUserAgent = typeof __UNDICI_IS_NODE__ !== 'undefined' || typeof esbuildDetection !== 'undefined'
77
+ ? 'node'
78
+ : 'undici'
79
+
80
+ /** @type {import('buffer').resolveObjectURL} */
81
+ let resolveObjectURL
82
+
83
+ class Fetch extends EE {
84
+ constructor (dispatcher) {
85
+ super()
86
+
87
+ this.dispatcher = dispatcher
88
+ this.connection = null
89
+ this.dump = false
90
+ this.state = 'ongoing'
91
+ }
92
+
93
+ terminate (reason) {
94
+ if (this.state !== 'ongoing') {
95
+ return
96
+ }
97
+
98
+ this.state = 'terminated'
99
+ this.connection?.destroy(reason)
100
+ this.emit('terminated', reason)
101
+ }
102
+
103
+ // https://fetch.spec.whatwg.org/#fetch-controller-abort
104
+ abort (error) {
105
+ if (this.state !== 'ongoing') {
106
+ return
107
+ }
108
+
109
+ // 1. Set controller’s state to "aborted".
110
+ this.state = 'aborted'
111
+
112
+ // 2. Let fallbackError be an "AbortError" DOMException.
113
+ // 3. Set error to fallbackError if it is not given.
114
+ if (!error) {
115
+ error = new DOMException('The operation was aborted.', 'AbortError')
116
+ }
117
+
118
+ // 4. Let serializedError be StructuredSerialize(error).
119
+ // If that threw an exception, catch it, and let
120
+ // serializedError be StructuredSerialize(fallbackError).
121
+
122
+ // 5. Set controller’s serialized abort reason to serializedError.
123
+ this.serializedAbortReason = error
124
+
125
+ this.connection?.destroy(error)
126
+ this.emit('terminated', error)
127
+ }
128
+ }
129
+
130
+ function handleFetchDone (response) {
131
+ finalizeAndReportTiming(response, 'fetch')
132
+ }
133
+
134
+ // https://fetch.spec.whatwg.org/#fetch-method
135
+ function fetch (input, init = undefined) {
136
+ webidl.argumentLengthCheck(arguments, 1, 'globalThis.fetch')
137
+
138
+ // 1. Let p be a new promise.
139
+ let p = createDeferredPromise()
140
+
141
+ // 2. Let requestObject be the result of invoking the initial value of
142
+ // Request as constructor with input and init as arguments. If this throws
143
+ // an exception, reject p with it and return p.
144
+ let requestObject
145
+
146
+ try {
147
+ requestObject = new Request(input, init)
148
+ } catch (e) {
149
+ p.reject(e)
150
+ return p.promise
151
+ }
152
+
153
+ // 3. Let request be requestObject’s request.
154
+ const request = getRequestState(requestObject)
155
+
156
+ // 4. If requestObject’s signal’s aborted flag is set, then:
157
+ if (requestObject.signal.aborted) {
158
+ // 1. Abort the fetch() call with p, request, null, and
159
+ // requestObject’s signal’s abort reason.
160
+ abortFetch(p, request, null, requestObject.signal.reason, null)
161
+
162
+ // 2. Return p.
163
+ return p.promise
164
+ }
165
+
166
+ // 5. Let globalObject be request’s client’s global object.
167
+ const globalObject = request.client.globalObject
168
+
169
+ // 6. If globalObject is a ServiceWorkerGlobalScope object, then set
170
+ // request’s service-workers mode to "none".
171
+ if (globalObject?.constructor?.name === 'ServiceWorkerGlobalScope') {
172
+ request.serviceWorkers = 'none'
173
+ }
174
+
175
+ // 7. Let responseObject be null.
176
+ let responseObject = null
177
+
178
+ // 8. Let relevantRealm be this’s relevant Realm.
179
+
180
+ // 9. Let locallyAborted be false.
181
+ let locallyAborted = false
182
+
183
+ // 10. Let controller be null.
184
+ let controller = null
185
+
186
+ // 11. Add the following abort steps to requestObject’s signal:
187
+ addAbortListener(
188
+ requestObject.signal,
189
+ () => {
190
+ // 1. Set locallyAborted to true.
191
+ locallyAborted = true
192
+
193
+ // 2. Assert: controller is non-null.
194
+ assert(controller != null)
195
+
196
+ // 3. Abort controller with requestObject’s signal’s abort reason.
197
+ controller.abort(requestObject.signal.reason)
198
+
199
+ const realResponse = responseObject?.deref()
200
+
201
+ // 4. Abort the fetch() call with p, request, responseObject,
202
+ // and requestObject’s signal’s abort reason.
203
+ abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller)
204
+ }
205
+ )
206
+
207
+ // 12. Let handleFetchDone given response response be to finalize and
208
+ // report timing with response, globalObject, and "fetch".
209
+ // see function handleFetchDone
210
+
211
+ // 13. Set controller to the result of calling fetch given request,
212
+ // with processResponseEndOfBody set to handleFetchDone, and processResponse
213
+ // given response being these substeps:
214
+
215
+ const processResponse = (response) => {
216
+ // 1. If locallyAborted is true, terminate these substeps.
217
+ if (locallyAborted) {
218
+ return
219
+ }
220
+
221
+ // 2. If response’s aborted flag is set, then:
222
+ if (response.aborted) {
223
+ // 1. Let deserializedError be the result of deserialize a serialized
224
+ // abort reason given controller’s serialized abort reason and
225
+ // relevantRealm.
226
+
227
+ // 2. Abort the fetch() call with p, request, responseObject, and
228
+ // deserializedError.
229
+
230
+ abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller)
231
+ return
232
+ }
233
+
234
+ // 3. If response is a network error, then reject p with a TypeError
235
+ // and terminate these substeps.
236
+ if (response.type === 'error') {
237
+ p.reject(new TypeError('fetch failed', { cause: response.error }))
238
+ return
239
+ }
240
+
241
+ // 4. Set responseObject to the result of creating a Response object,
242
+ // given response, "immutable", and relevantRealm.
243
+ responseObject = new WeakRef(fromInnerResponse(response, 'immutable'))
244
+
245
+ // 5. Resolve p with responseObject.
246
+ p.resolve(responseObject.deref())
247
+ p = null
248
+ }
249
+
250
+ controller = fetching({
251
+ request,
252
+ processResponseEndOfBody: handleFetchDone,
253
+ processResponse,
254
+ dispatcher: getRequestDispatcher(requestObject), // undici
255
+ // Keep requestObject alive to prevent its AbortController from being GC'd
256
+ // See https://github.com/nodejs/undici/issues/4627
257
+ requestObject
258
+ })
259
+
260
+ // 14. Return p.
261
+ return p.promise
262
+ }
263
+
264
+ // https://fetch.spec.whatwg.org/#finalize-and-report-timing
265
+ function finalizeAndReportTiming (response, initiatorType = 'other') {
266
+ // 1. If response is an aborted network error, then return.
267
+ if (response.type === 'error' && response.aborted) {
268
+ return
269
+ }
270
+
271
+ // 2. If response’s URL list is null or empty, then return.
272
+ if (!response.urlList?.length) {
273
+ return
274
+ }
275
+
276
+ // 3. Let originalURL be response’s URL list[0].
277
+ const originalURL = response.urlList[0]
278
+
279
+ // 4. Let timingInfo be response’s timing info.
280
+ let timingInfo = response.timingInfo
281
+
282
+ // 5. Let cacheState be response’s cache state.
283
+ let cacheState = response.cacheState
284
+
285
+ // 6. If originalURL’s scheme is not an HTTP(S) scheme, then return.
286
+ if (!urlIsHttpHttpsScheme(originalURL)) {
287
+ return
288
+ }
289
+
290
+ // 7. If timingInfo is null, then return.
291
+ if (timingInfo === null) {
292
+ return
293
+ }
294
+
295
+ // 8. If response’s timing allow passed flag is not set, then:
296
+ if (!response.timingAllowPassed) {
297
+ // 1. Set timingInfo to a the result of creating an opaque timing info for timingInfo.
298
+ timingInfo = createOpaqueTimingInfo({
299
+ startTime: timingInfo.startTime
300
+ })
301
+
302
+ // 2. Set cacheState to the empty string.
303
+ cacheState = ''
304
+ }
305
+
306
+ // 9. Set timingInfo’s end time to the coarsened shared current time
307
+ // given global’s relevant settings object’s cross-origin isolated
308
+ // capability.
309
+ // TODO: given global’s relevant settings object’s cross-origin isolated
310
+ // capability?
311
+ timingInfo.endTime = coarsenedSharedCurrentTime()
312
+
313
+ // 10. Set response’s timing info to timingInfo.
314
+ response.timingInfo = timingInfo
315
+
316
+ // 11. Mark resource timing for timingInfo, originalURL, initiatorType,
317
+ // global, and cacheState.
318
+ markResourceTiming(
319
+ timingInfo,
320
+ originalURL.href,
321
+ initiatorType,
322
+ globalThis,
323
+ cacheState,
324
+ '', // bodyType
325
+ response.status
326
+ )
327
+ }
328
+
329
+ // https://w3c.github.io/resource-timing/#dfn-mark-resource-timing
330
+ const markResourceTiming = performance.markResourceTiming
331
+
332
+ // https://fetch.spec.whatwg.org/#abort-fetch
333
+ function abortFetch (p, request, responseObject, error, controller /* undici-specific */) {
334
+ // 1. Reject promise with error.
335
+ if (p) {
336
+ // We might have already resolved the promise at this stage
337
+ p.reject(error)
338
+ }
339
+
340
+ // 2. If request’s body is not null and is readable, then cancel request’s
341
+ // body with error.
342
+ if (request.body?.stream != null && isReadable(request.body.stream)) {
343
+ request.body.stream.cancel(error).catch((err) => {
344
+ if (err.code === 'ERR_INVALID_STATE') {
345
+ // Node bug?
346
+ return
347
+ }
348
+ throw err
349
+ })
350
+ }
351
+
352
+ // 3. If responseObject is null, then return.
353
+ if (responseObject == null) {
354
+ return
355
+ }
356
+
357
+ // 4. Let response be responseObject’s response.
358
+ const response = getResponseState(responseObject)
359
+
360
+ // 5. If response’s body is not null and is readable, then error response’s
361
+ // body with error.
362
+ if (response.body?.stream != null && isReadable(response.body.stream)) {
363
+ controller.error(error)
364
+ }
365
+ }
366
+
367
+ // https://fetch.spec.whatwg.org/#fetching
368
+ function fetching ({
369
+ request,
370
+ processRequestBodyChunkLength,
371
+ processRequestEndOfBody,
372
+ processResponse,
373
+ processResponseEndOfBody,
374
+ processResponseConsumeBody,
375
+ useParallelQueue = false,
376
+ dispatcher = getGlobalDispatcher(), // undici
377
+ requestObject = null // Keep alive to prevent AbortController GC, see #4627
378
+ }) {
379
+ // Ensure that the dispatcher is set accordingly
380
+ assert(dispatcher)
381
+
382
+ // 1. Let taskDestination be null.
383
+ let taskDestination = null
384
+
385
+ // 2. Let crossOriginIsolatedCapability be false.
386
+ let crossOriginIsolatedCapability = false
387
+
388
+ // 3. If request’s client is non-null, then:
389
+ if (request.client != null) {
390
+ // 1. Set taskDestination to request’s client’s global object.
391
+ taskDestination = request.client.globalObject
392
+
393
+ // 2. Set crossOriginIsolatedCapability to request’s client’s cross-origin
394
+ // isolated capability.
395
+ crossOriginIsolatedCapability =
396
+ request.client.crossOriginIsolatedCapability
397
+ }
398
+
399
+ // 4. If useParallelQueue is true, then set taskDestination to the result of
400
+ // starting a new parallel queue.
401
+ // TODO
402
+
403
+ // 5. Let timingInfo be a new fetch timing info whose start time and
404
+ // post-redirect start time are the coarsened shared current time given
405
+ // crossOriginIsolatedCapability.
406
+ const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability)
407
+ const timingInfo = createOpaqueTimingInfo({
408
+ startTime: currentTime
409
+ })
410
+
411
+ // 6. Let fetchParams be a new fetch params whose
412
+ // request is request,
413
+ // timing info is timingInfo,
414
+ // process request body chunk length is processRequestBodyChunkLength,
415
+ // process request end-of-body is processRequestEndOfBody,
416
+ // process response is processResponse,
417
+ // process response consume body is processResponseConsumeBody,
418
+ // process response end-of-body is processResponseEndOfBody,
419
+ // task destination is taskDestination,
420
+ // and cross-origin isolated capability is crossOriginIsolatedCapability.
421
+ const fetchParams = {
422
+ controller: new Fetch(dispatcher),
423
+ request,
424
+ timingInfo,
425
+ processRequestBodyChunkLength,
426
+ processRequestEndOfBody,
427
+ processResponse,
428
+ processResponseConsumeBody,
429
+ processResponseEndOfBody,
430
+ taskDestination,
431
+ crossOriginIsolatedCapability,
432
+ // Keep requestObject alive to prevent its AbortController from being GC'd
433
+ requestObject
434
+ }
435
+
436
+ // 7. If request’s body is a byte sequence, then set request’s body to
437
+ // request’s body as a body.
438
+ // NOTE: Since fetching is only called from fetch, body should already be
439
+ // extracted.
440
+ assert(!request.body || request.body.stream)
441
+
442
+ // 8. If request’s window is "client", then set request’s window to request’s
443
+ // client, if request’s client’s global object is a Window object; otherwise
444
+ // "no-window".
445
+ if (request.window === 'client') {
446
+ // TODO: What if request.client is null?
447
+ request.window =
448
+ request.client?.globalObject?.constructor?.name === 'Window'
449
+ ? request.client
450
+ : 'no-window'
451
+ }
452
+
453
+ // 9. If request’s origin is "client", then set request’s origin to request’s
454
+ // client’s origin.
455
+ if (request.origin === 'client') {
456
+ request.origin = request.client.origin
457
+ }
458
+
459
+ // 10. If all of the following conditions are true:
460
+ // TODO
461
+
462
+ // 11. If request’s policy container is "client", then:
463
+ if (request.policyContainer === 'client') {
464
+ // 1. If request’s client is non-null, then set request’s policy
465
+ // container to a clone of request’s client’s policy container. [HTML]
466
+ if (request.client != null) {
467
+ request.policyContainer = clonePolicyContainer(
468
+ request.client.policyContainer
469
+ )
470
+ } else {
471
+ // 2. Otherwise, set request’s policy container to a new policy
472
+ // container.
473
+ request.policyContainer = makePolicyContainer()
474
+ }
475
+ }
476
+
477
+ // 12. If request’s header list does not contain `Accept`, then:
478
+ if (!request.headersList.contains('accept', true)) {
479
+ // 1. Let value be `*/*`.
480
+ const value = '*/*'
481
+
482
+ // 2. A user agent should set value to the first matching statement, if
483
+ // any, switching on request’s destination:
484
+ // "document"
485
+ // "frame"
486
+ // "iframe"
487
+ // `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`
488
+ // "image"
489
+ // `image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5`
490
+ // "style"
491
+ // `text/css,*/*;q=0.1`
492
+ // TODO
493
+
494
+ // 3. Append `Accept`/value to request’s header list.
495
+ request.headersList.append('accept', value, true)
496
+ }
497
+
498
+ // 13. If request’s header list does not contain `Accept-Language`, then
499
+ // user agents should append `Accept-Language`/an appropriate value to
500
+ // request’s header list.
501
+ if (!request.headersList.contains('accept-language', true)) {
502
+ request.headersList.append('accept-language', '*', true)
503
+ }
504
+
505
+ // 14. If request’s priority is null, then use request’s initiator and
506
+ // destination appropriately in setting request’s priority to a
507
+ // user-agent-defined object.
508
+ if (request.priority === null) {
509
+ // TODO
510
+ }
511
+
512
+ // 15. If request is a subresource request, then:
513
+ if (subresourceSet.has(request.destination)) {
514
+ // TODO
515
+ }
516
+
517
+ // 16. Run main fetch given fetchParams.
518
+ mainFetch(fetchParams, false)
519
+
520
+ // 17. Return fetchParam's controller
521
+ return fetchParams.controller
522
+ }
523
+
524
+ // https://fetch.spec.whatwg.org/#concept-main-fetch
525
+ async function mainFetch (fetchParams, recursive) {
526
+ try {
527
+ // 1. Let request be fetchParams’s request.
528
+ const request = fetchParams.request
529
+
530
+ // 2. Let response be null.
531
+ let response = null
532
+
533
+ // 3. If request’s local-URLs-only flag is set and request’s current URL is
534
+ // not local, then set response to a network error.
535
+ if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
536
+ response = makeNetworkError('local URLs only')
537
+ }
538
+
539
+ // 4. Run report Content Security Policy violations for request.
540
+ // TODO
541
+
542
+ // 5. Upgrade request to a potentially trustworthy URL, if appropriate.
543
+ tryUpgradeRequestToAPotentiallyTrustworthyURL(request)
544
+
545
+ // 6. If should request be blocked due to a bad port, should fetching request
546
+ // be blocked as mixed content, or should request be blocked by Content
547
+ // Security Policy returns blocked, then set response to a network error.
548
+ if (requestBadPort(request) === 'blocked') {
549
+ response = makeNetworkError('bad port')
550
+ }
551
+ // TODO: should fetching request be blocked as mixed content?
552
+ // TODO: should request be blocked by Content Security Policy?
553
+
554
+ // 7. If request’s referrer policy is the empty string, then set request’s
555
+ // referrer policy to request’s policy container’s referrer policy.
556
+ if (request.referrerPolicy === '') {
557
+ request.referrerPolicy = request.policyContainer.referrerPolicy
558
+ }
559
+
560
+ // 8. If request’s referrer is not "no-referrer", then set request’s
561
+ // referrer to the result of invoking determine request’s referrer.
562
+ if (request.referrer !== 'no-referrer') {
563
+ request.referrer = determineRequestsReferrer(request)
564
+ }
565
+
566
+ // 9. Set request’s current URL’s scheme to "https" if all of the following
567
+ // conditions are true:
568
+ // - request’s current URL’s scheme is "http"
569
+ // - request’s current URL’s host is a domain
570
+ // - Matching request’s current URL’s host per Known HSTS Host Domain Name
571
+ // Matching results in either a superdomain match with an asserted
572
+ // includeSubDomains directive or a congruent match (with or without an
573
+ // asserted includeSubDomains directive). [HSTS]
574
+ // TODO
575
+
576
+ // 10. If recursive is false, then run the remaining steps in parallel.
577
+ // TODO
578
+
579
+ // 11. If response is null, then set response to the result of running
580
+ // the steps corresponding to the first matching statement:
581
+ if (response === null) {
582
+ const currentURL = requestCurrentURL(request)
583
+ if (
584
+ // - request’s current URL’s origin is same origin with request’s origin,
585
+ // and request’s response tainting is "basic"
586
+ (sameOrigin(currentURL, request.url) && request.responseTainting === 'basic') ||
587
+ // request’s current URL’s scheme is "data"
588
+ (currentURL.protocol === 'data:') ||
589
+ // - request’s mode is "navigate" or "websocket"
590
+ (request.mode === 'navigate' || request.mode === 'websocket')
591
+ ) {
592
+ // 1. Set request’s response tainting to "basic".
593
+ request.responseTainting = 'basic'
594
+
595
+ // 2. Return the result of running scheme fetch given fetchParams.
596
+ response = await schemeFetch(fetchParams)
597
+
598
+ // request’s mode is "same-origin"
599
+ } else if (request.mode === 'same-origin') {
600
+ // 1. Return a network error.
601
+ response = makeNetworkError('request mode cannot be "same-origin"')
602
+
603
+ // request’s mode is "no-cors"
604
+ } else if (request.mode === 'no-cors') {
605
+ // 1. If request’s redirect mode is not "follow", then return a network
606
+ // error.
607
+ if (request.redirect !== 'follow') {
608
+ response = makeNetworkError(
609
+ 'redirect mode cannot be "follow" for "no-cors" request'
610
+ )
611
+ } else {
612
+ // 2. Set request’s response tainting to "opaque".
613
+ request.responseTainting = 'opaque'
614
+
615
+ // 3. Return the result of running scheme fetch given fetchParams.
616
+ response = await schemeFetch(fetchParams)
617
+ }
618
+ // request’s current URL’s scheme is not an HTTP(S) scheme
619
+ } else if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
620
+ // Return a network error.
621
+ response = makeNetworkError('URL scheme must be a HTTP(S) scheme')
622
+
623
+ // - request’s use-CORS-preflight flag is set
624
+ // - request’s unsafe-request flag is set and either request’s method is
625
+ // not a CORS-safelisted method or CORS-unsafe request-header names with
626
+ // request’s header list is not empty
627
+ // 1. Set request’s response tainting to "cors".
628
+ // 2. Let corsWithPreflightResponse be the result of running HTTP fetch
629
+ // given fetchParams and true.
630
+ // 3. If corsWithPreflightResponse is a network error, then clear cache
631
+ // entries using request.
632
+ // 4. Return corsWithPreflightResponse.
633
+ // TODO
634
+
635
+ // Otherwise
636
+ } else {
637
+ // 1. Set request’s response tainting to "cors".
638
+ request.responseTainting = 'cors'
639
+
640
+ // 2. Return the result of running HTTP fetch given fetchParams.
641
+ response = await httpFetch(fetchParams)
642
+ }
643
+ }
644
+
645
+ // 12. If recursive is true, then return response.
646
+ if (recursive) {
647
+ return response
648
+ }
649
+
650
+ // 13. If response is not a network error and response is not a filtered
651
+ // response, then:
652
+ if (response.status !== 0 && !response.internalResponse) {
653
+ // If request’s response tainting is "cors", then:
654
+ if (request.responseTainting === 'cors') {
655
+ // 1. Let headerNames be the result of extracting header list values
656
+ // given `Access-Control-Expose-Headers` and response’s header list.
657
+ // TODO
658
+ // 2. If request’s credentials mode is not "include" and headerNames
659
+ // contains `*`, then set response’s CORS-exposed header-name list to
660
+ // all unique header names in response’s header list.
661
+ // TODO
662
+ // 3. Otherwise, if headerNames is not null or failure, then set
663
+ // response’s CORS-exposed header-name list to headerNames.
664
+ // TODO
665
+ }
666
+
667
+ // Set response to the following filtered response with response as its
668
+ // internal response, depending on request’s response tainting:
669
+ if (request.responseTainting === 'basic') {
670
+ response = filterResponse(response, 'basic')
671
+ } else if (request.responseTainting === 'cors') {
672
+ response = filterResponse(response, 'cors')
673
+ } else if (request.responseTainting === 'opaque') {
674
+ response = filterResponse(response, 'opaque')
675
+ } else {
676
+ assert(false)
677
+ }
678
+ }
679
+
680
+ // 14. Let internalResponse be response, if response is a network error,
681
+ // and response’s internal response otherwise.
682
+ let internalResponse =
683
+ response.status === 0 ? response : response.internalResponse
684
+
685
+ // 15. If internalResponse’s URL list is empty, then set it to a clone of
686
+ // request’s URL list.
687
+ if (internalResponse.urlList.length === 0) {
688
+ internalResponse.urlList.push(...request.urlList)
689
+ }
690
+
691
+ // 16. If request’s timing allow failed flag is unset, then set
692
+ // internalResponse’s timing allow passed flag.
693
+ if (!request.timingAllowFailed) {
694
+ response.timingAllowPassed = true
695
+ }
696
+
697
+ // 17. If response is not a network error and any of the following returns
698
+ // blocked
699
+ // - should internalResponse to request be blocked as mixed content
700
+ // - should internalResponse to request be blocked by Content Security Policy
701
+ // - should internalResponse to request be blocked due to its MIME type
702
+ // - should internalResponse to request be blocked due to nosniff
703
+ // TODO
704
+
705
+ // 18. If response’s type is "opaque", internalResponse’s status is 206,
706
+ // internalResponse’s range-requested flag is set, and request’s header
707
+ // list does not contain `Range`, then set response and internalResponse
708
+ // to a network error.
709
+ if (
710
+ response.type === 'opaque' &&
711
+ internalResponse.status === 206 &&
712
+ internalResponse.rangeRequested &&
713
+ !request.headers.contains('range', true)
714
+ ) {
715
+ response = internalResponse = makeNetworkError()
716
+ }
717
+
718
+ // 19. If response is not a network error and either request’s method is
719
+ // `HEAD` or `CONNECT`, or internalResponse’s status is a null body status,
720
+ // set internalResponse’s body to null and disregard any enqueuing toward
721
+ // it (if any).
722
+ if (
723
+ response.status !== 0 &&
724
+ (request.method === 'HEAD' ||
725
+ request.method === 'CONNECT' ||
726
+ nullBodyStatus.includes(internalResponse.status))
727
+ ) {
728
+ internalResponse.body = null
729
+ fetchParams.controller.dump = true
730
+ }
731
+
732
+ // 20. If request’s integrity metadata is not the empty string, then:
733
+ if (request.integrity) {
734
+ // 1. Let processBodyError be this step: run fetch finale given fetchParams
735
+ // and a network error.
736
+ const processBodyError = (reason) =>
737
+ fetchFinale(fetchParams, makeNetworkError(reason))
738
+
739
+ // 2. If request’s response tainting is "opaque", or response’s body is null,
740
+ // then run processBodyError and abort these steps.
741
+ if (request.responseTainting === 'opaque' || response.body == null) {
742
+ processBodyError(response.error)
743
+ return
744
+ }
745
+
746
+ // 3. Let processBody given bytes be these steps:
747
+ const processBody = (bytes) => {
748
+ // 1. If bytes do not match request’s integrity metadata,
749
+ // then run processBodyError and abort these steps. [SRI]
750
+ if (!bytesMatch(bytes, request.integrity)) {
751
+ processBodyError('integrity mismatch')
752
+ return
753
+ }
754
+
755
+ // 2. Set response’s body to bytes as a body.
756
+ response.body = safelyExtractBody(bytes)[0]
757
+
758
+ // 3. Run fetch finale given fetchParams and response.
759
+ fetchFinale(fetchParams, response)
760
+ }
761
+
762
+ // 4. Fully read response’s body given processBody and processBodyError.
763
+ fullyReadBody(response.body, processBody, processBodyError)
764
+ } else {
765
+ // 21. Otherwise, run fetch finale given fetchParams and response.
766
+ fetchFinale(fetchParams, response)
767
+ }
768
+ } catch (err) {
769
+ fetchParams.controller.terminate(err)
770
+ }
771
+ }
772
+
773
+ // https://fetch.spec.whatwg.org/#concept-scheme-fetch
774
+ // given a fetch params fetchParams
775
+ function schemeFetch (fetchParams) {
776
+ // Note: since the connection is destroyed on redirect, which sets fetchParams to a
777
+ // cancelled state, we do not want this condition to trigger *unless* there have been
778
+ // no redirects. See https://github.com/nodejs/undici/issues/1776
779
+ // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.
780
+ if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
781
+ return Promise.resolve(makeAppropriateNetworkError(fetchParams))
782
+ }
783
+
784
+ // 2. Let request be fetchParams’s request.
785
+ const { request } = fetchParams
786
+
787
+ const { protocol: scheme } = requestCurrentURL(request)
788
+
789
+ // 3. Switch on request’s current URL’s scheme and run the associated steps:
790
+ switch (scheme) {
791
+ case 'about:': {
792
+ // If request’s current URL’s path is the string "blank", then return a new response
793
+ // whose status message is `OK`, header list is « (`Content-Type`, `text/html;charset=utf-8`) »,
794
+ // and body is the empty byte sequence as a body.
795
+
796
+ // Otherwise, return a network error.
797
+ return Promise.resolve(makeNetworkError('about scheme is not supported'))
798
+ }
799
+ case 'blob:': {
800
+ if (!resolveObjectURL) {
801
+ resolveObjectURL = require('node:buffer').resolveObjectURL
802
+ }
803
+
804
+ // 1. Let blobURLEntry be request’s current URL’s blob URL entry.
805
+ const blobURLEntry = requestCurrentURL(request)
806
+
807
+ // https://github.com/web-platform-tests/wpt/blob/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/FileAPI/url/resources/fetch-tests.js#L52-L56
808
+ // Buffer.resolveObjectURL does not ignore URL queries.
809
+ if (blobURLEntry.search.length !== 0) {
810
+ return Promise.resolve(makeNetworkError('NetworkError when attempting to fetch resource.'))
811
+ }
812
+
813
+ const blob = resolveObjectURL(blobURLEntry.toString())
814
+
815
+ // 2. If request’s method is not `GET`, blobURLEntry is null, or blobURLEntry’s
816
+ // object is not a Blob object, then return a network error.
817
+ if (request.method !== 'GET' || !webidl.is.Blob(blob)) {
818
+ return Promise.resolve(makeNetworkError('invalid method'))
819
+ }
820
+
821
+ // 3. Let blob be blobURLEntry’s object.
822
+ // Note: done above
823
+
824
+ // 4. Let response be a new response.
825
+ const response = makeResponse()
826
+
827
+ // 5. Let fullLength be blob’s size.
828
+ const fullLength = blob.size
829
+
830
+ // 6. Let serializedFullLength be fullLength, serialized and isomorphic encoded.
831
+ const serializedFullLength = isomorphicEncode(`${fullLength}`)
832
+
833
+ // 7. Let type be blob’s type.
834
+ const type = blob.type
835
+
836
+ // 8. If request’s header list does not contain `Range`:
837
+ // 9. Otherwise:
838
+ if (!request.headersList.contains('range', true)) {
839
+ // 1. Let bodyWithType be the result of safely extracting blob.
840
+ // Note: in the FileAPI a blob "object" is a Blob *or* a MediaSource.
841
+ // In node, this can only ever be a Blob. Therefore we can safely
842
+ // use extractBody directly.
843
+ const bodyWithType = extractBody(blob)
844
+
845
+ // 2. Set response’s status message to `OK`.
846
+ response.statusText = 'OK'
847
+
848
+ // 3. Set response’s body to bodyWithType’s body.
849
+ response.body = bodyWithType[0]
850
+
851
+ // 4. Set response’s header list to « (`Content-Length`, serializedFullLength), (`Content-Type`, type) ».
852
+ response.headersList.set('content-length', serializedFullLength, true)
853
+ response.headersList.set('content-type', type, true)
854
+ } else {
855
+ // 1. Set response’s range-requested flag.
856
+ response.rangeRequested = true
857
+
858
+ // 2. Let rangeHeader be the result of getting `Range` from request’s header list.
859
+ const rangeHeader = request.headersList.get('range', true)
860
+
861
+ // 3. Let rangeValue be the result of parsing a single range header value given rangeHeader and true.
862
+ const rangeValue = simpleRangeHeaderValue(rangeHeader, true)
863
+
864
+ // 4. If rangeValue is failure, then return a network error.
865
+ if (rangeValue === 'failure') {
866
+ return Promise.resolve(makeNetworkError('failed to fetch the data URL'))
867
+ }
868
+
869
+ // 5. Let (rangeStart, rangeEnd) be rangeValue.
870
+ let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue
871
+
872
+ // 6. If rangeStart is null:
873
+ // 7. Otherwise:
874
+ if (rangeStart === null) {
875
+ // 1. Set rangeStart to fullLength − rangeEnd.
876
+ rangeStart = fullLength - rangeEnd
877
+
878
+ // 2. Set rangeEnd to rangeStart + rangeEnd − 1.
879
+ rangeEnd = rangeStart + rangeEnd - 1
880
+ } else {
881
+ // 1. If rangeStart is greater than or equal to fullLength, then return a network error.
882
+ if (rangeStart >= fullLength) {
883
+ return Promise.resolve(makeNetworkError('Range start is greater than the blob\'s size.'))
884
+ }
885
+
886
+ // 2. If rangeEnd is null or rangeEnd is greater than or equal to fullLength, then set
887
+ // rangeEnd to fullLength − 1.
888
+ if (rangeEnd === null || rangeEnd >= fullLength) {
889
+ rangeEnd = fullLength - 1
890
+ }
891
+ }
892
+
893
+ // 8. Let slicedBlob be the result of invoking slice blob given blob, rangeStart,
894
+ // rangeEnd + 1, and type.
895
+ const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type)
896
+
897
+ // 9. Let slicedBodyWithType be the result of safely extracting slicedBlob.
898
+ // Note: same reason as mentioned above as to why we use extractBody
899
+ const slicedBodyWithType = extractBody(slicedBlob)
900
+
901
+ // 10. Set response’s body to slicedBodyWithType’s body.
902
+ response.body = slicedBodyWithType[0]
903
+
904
+ // 11. Let serializedSlicedLength be slicedBlob’s size, serialized and isomorphic encoded.
905
+ const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`)
906
+
907
+ // 12. Let contentRange be the result of invoking build a content range given rangeStart,
908
+ // rangeEnd, and fullLength.
909
+ const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength)
910
+
911
+ // 13. Set response’s status to 206.
912
+ response.status = 206
913
+
914
+ // 14. Set response’s status message to `Partial Content`.
915
+ response.statusText = 'Partial Content'
916
+
917
+ // 15. Set response’s header list to « (`Content-Length`, serializedSlicedLength),
918
+ // (`Content-Type`, type), (`Content-Range`, contentRange) ».
919
+ response.headersList.set('content-length', serializedSlicedLength, true)
920
+ response.headersList.set('content-type', type, true)
921
+ response.headersList.set('content-range', contentRange, true)
922
+ }
923
+
924
+ // 10. Return response.
925
+ return Promise.resolve(response)
926
+ }
927
+ case 'data:': {
928
+ // 1. Let dataURLStruct be the result of running the
929
+ // data: URL processor on request’s current URL.
930
+ const currentURL = requestCurrentURL(request)
931
+ const dataURLStruct = dataURLProcessor(currentURL)
932
+
933
+ // 2. If dataURLStruct is failure, then return a
934
+ // network error.
935
+ if (dataURLStruct === 'failure') {
936
+ return Promise.resolve(makeNetworkError('failed to fetch the data URL'))
937
+ }
938
+
939
+ // 3. Let mimeType be dataURLStruct’s MIME type, serialized.
940
+ const mimeType = serializeAMimeType(dataURLStruct.mimeType)
941
+
942
+ // 4. Return a response whose status message is `OK`,
943
+ // header list is « (`Content-Type`, mimeType) »,
944
+ // and body is dataURLStruct’s body as a body.
945
+ return Promise.resolve(makeResponse({
946
+ statusText: 'OK',
947
+ headersList: [
948
+ ['content-type', { name: 'Content-Type', value: mimeType }]
949
+ ],
950
+ body: safelyExtractBody(dataURLStruct.body)[0]
951
+ }))
952
+ }
953
+ case 'file:': {
954
+ // For now, unfortunate as it is, file URLs are left as an exercise for the reader.
955
+ // When in doubt, return a network error.
956
+ return Promise.resolve(makeNetworkError('not implemented... yet...'))
957
+ }
958
+ case 'http:':
959
+ case 'https:': {
960
+ // Return the result of running HTTP fetch given fetchParams.
961
+
962
+ return httpFetch(fetchParams)
963
+ .catch((err) => makeNetworkError(err))
964
+ }
965
+ default: {
966
+ return Promise.resolve(makeNetworkError('unknown scheme'))
967
+ }
968
+ }
969
+ }
970
+
971
+ // https://fetch.spec.whatwg.org/#finalize-response
972
+ function finalizeResponse (fetchParams, response) {
973
+ // 1. Set fetchParams’s request’s done flag.
974
+ fetchParams.request.done = true
975
+
976
+ // 2, If fetchParams’s process response done is not null, then queue a fetch
977
+ // task to run fetchParams’s process response done given response, with
978
+ // fetchParams’s task destination.
979
+ if (fetchParams.processResponseDone != null) {
980
+ queueMicrotask(() => fetchParams.processResponseDone(response))
981
+ }
982
+ }
983
+
984
+ // https://fetch.spec.whatwg.org/#fetch-finale
985
+ function fetchFinale (fetchParams, response) {
986
+ // 1. Let timingInfo be fetchParams’s timing info.
987
+ let timingInfo = fetchParams.timingInfo
988
+
989
+ // 2. If response is not a network error and fetchParams’s request’s client is a secure context,
990
+ // then set timingInfo’s server-timing headers to the result of getting, decoding, and splitting
991
+ // `Server-Timing` from response’s internal response’s header list.
992
+ // TODO
993
+
994
+ // 3. Let processResponseEndOfBody be the following steps:
995
+ const processResponseEndOfBody = () => {
996
+ // 1. Let unsafeEndTime be the unsafe shared current time.
997
+ const unsafeEndTime = Date.now() // ?
998
+
999
+ // 2. If fetchParams’s request’s destination is "document", then set fetchParams’s controller’s
1000
+ // full timing info to fetchParams’s timing info.
1001
+ if (fetchParams.request.destination === 'document') {
1002
+ fetchParams.controller.fullTimingInfo = timingInfo
1003
+ }
1004
+
1005
+ // 3. Set fetchParams’s controller’s report timing steps to the following steps given a global object global:
1006
+ fetchParams.controller.reportTimingSteps = () => {
1007
+ // 1. If fetchParams’s request’s URL’s scheme is not an HTTP(S) scheme, then return.
1008
+ if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
1009
+ return
1010
+ }
1011
+
1012
+ // 2. Set timingInfo’s end time to the relative high resolution time given unsafeEndTime and global.
1013
+ timingInfo.endTime = unsafeEndTime
1014
+
1015
+ // 3. Let cacheState be response’s cache state.
1016
+ let cacheState = response.cacheState
1017
+
1018
+ // 4. Let bodyInfo be response’s body info.
1019
+ const bodyInfo = response.bodyInfo
1020
+
1021
+ // 5. If response’s timing allow passed flag is not set, then set timingInfo to the result of creating an
1022
+ // opaque timing info for timingInfo and set cacheState to the empty string.
1023
+ if (!response.timingAllowPassed) {
1024
+ timingInfo = createOpaqueTimingInfo(timingInfo)
1025
+
1026
+ cacheState = ''
1027
+ }
1028
+
1029
+ // 6. Let responseStatus be 0.
1030
+ let responseStatus = 0
1031
+
1032
+ // 7. If fetchParams’s request’s mode is not "navigate" or response’s has-cross-origin-redirects is false:
1033
+ if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) {
1034
+ // 1. Set responseStatus to response’s status.
1035
+ responseStatus = response.status
1036
+
1037
+ // 2. Let mimeType be the result of extracting a MIME type from response’s header list.
1038
+ const mimeType = extractMimeType(response.headersList)
1039
+
1040
+ // 3. If mimeType is not failure, then set bodyInfo’s content type to the result of minimizing a supported MIME type given mimeType.
1041
+ if (mimeType !== 'failure') {
1042
+ bodyInfo.contentType = minimizeSupportedMimeType(mimeType)
1043
+ }
1044
+ }
1045
+
1046
+ // 8. If fetchParams’s request’s initiator type is non-null, then mark resource timing given timingInfo,
1047
+ // fetchParams’s request’s URL, fetchParams’s request’s initiator type, global, cacheState, bodyInfo,
1048
+ // and responseStatus.
1049
+ if (fetchParams.request.initiatorType != null) {
1050
+ markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus)
1051
+ }
1052
+ }
1053
+
1054
+ // 4. Let processResponseEndOfBodyTask be the following steps:
1055
+ const processResponseEndOfBodyTask = () => {
1056
+ // 1. Set fetchParams’s request’s done flag.
1057
+ fetchParams.request.done = true
1058
+
1059
+ // 2. If fetchParams’s process response end-of-body is non-null, then run fetchParams’s process
1060
+ // response end-of-body given response.
1061
+ if (fetchParams.processResponseEndOfBody != null) {
1062
+ queueMicrotask(() => fetchParams.processResponseEndOfBody(response))
1063
+ }
1064
+
1065
+ // 3. If fetchParams’s request’s initiator type is non-null and fetchParams’s request’s client’s
1066
+ // global object is fetchParams’s task destination, then run fetchParams’s controller’s report
1067
+ // timing steps given fetchParams’s request’s client’s global object.
1068
+ if (fetchParams.request.initiatorType != null) {
1069
+ fetchParams.controller.reportTimingSteps()
1070
+ }
1071
+ }
1072
+
1073
+ // 5. Queue a fetch task to run processResponseEndOfBodyTask with fetchParams’s task destination
1074
+ queueMicrotask(() => processResponseEndOfBodyTask())
1075
+ }
1076
+
1077
+ // 4. If fetchParams’s process response is non-null, then queue a fetch task to run fetchParams’s
1078
+ // process response given response, with fetchParams’s task destination.
1079
+ if (fetchParams.processResponse != null) {
1080
+ queueMicrotask(() => {
1081
+ fetchParams.processResponse(response)
1082
+ fetchParams.processResponse = null
1083
+ })
1084
+ }
1085
+
1086
+ // 5. Let internalResponse be response, if response is a network error; otherwise response’s internal response.
1087
+ const internalResponse = response.type === 'error' ? response : (response.internalResponse ?? response)
1088
+
1089
+ // 6. If internalResponse’s body is null, then run processResponseEndOfBody.
1090
+ // 7. Otherwise:
1091
+ if (internalResponse.body == null) {
1092
+ processResponseEndOfBody()
1093
+ } else {
1094
+ // mcollina: all the following steps of the specs are skipped.
1095
+ // The internal transform stream is not needed.
1096
+ // See https://github.com/nodejs/undici/pull/3093#issuecomment-2050198541
1097
+
1098
+ // 1. Let transformStream be a new TransformStream.
1099
+ // 2. Let identityTransformAlgorithm be an algorithm which, given chunk, enqueues chunk in transformStream.
1100
+ // 3. Set up transformStream with transformAlgorithm set to identityTransformAlgorithm and flushAlgorithm
1101
+ // set to processResponseEndOfBody.
1102
+ // 4. Set internalResponse’s body’s stream to the result of internalResponse’s body’s stream piped through transformStream.
1103
+
1104
+ finished(internalResponse.body.stream, () => {
1105
+ processResponseEndOfBody()
1106
+ })
1107
+ }
1108
+ }
1109
+
1110
+ // https://fetch.spec.whatwg.org/#http-fetch
1111
+ async function httpFetch (fetchParams) {
1112
+ // 1. Let request be fetchParams’s request.
1113
+ const request = fetchParams.request
1114
+
1115
+ // 2. Let response be null.
1116
+ let response = null
1117
+
1118
+ // 3. Let actualResponse be null.
1119
+ let actualResponse = null
1120
+
1121
+ // 4. Let timingInfo be fetchParams’s timing info.
1122
+ const timingInfo = fetchParams.timingInfo
1123
+
1124
+ // 5. If request’s service-workers mode is "all", then:
1125
+ if (request.serviceWorkers === 'all') {
1126
+ // TODO
1127
+ }
1128
+
1129
+ // 6. If response is null, then:
1130
+ if (response === null) {
1131
+ // 1. If makeCORSPreflight is true and one of these conditions is true:
1132
+ // TODO
1133
+
1134
+ // 2. If request’s redirect mode is "follow", then set request’s
1135
+ // service-workers mode to "none".
1136
+ if (request.redirect === 'follow') {
1137
+ request.serviceWorkers = 'none'
1138
+ }
1139
+
1140
+ // 3. Set response and actualResponse to the result of running
1141
+ // HTTP-network-or-cache fetch given fetchParams.
1142
+ actualResponse = response = await httpNetworkOrCacheFetch(fetchParams)
1143
+
1144
+ // 4. If request’s response tainting is "cors" and a CORS check
1145
+ // for request and response returns failure, then return a network error.
1146
+ if (
1147
+ request.responseTainting === 'cors' &&
1148
+ corsCheck(request, response) === 'failure'
1149
+ ) {
1150
+ return makeNetworkError('cors failure')
1151
+ }
1152
+
1153
+ // 5. If the TAO check for request and response returns failure, then set
1154
+ // request’s timing allow failed flag.
1155
+ if (TAOCheck(request, response) === 'failure') {
1156
+ request.timingAllowFailed = true
1157
+ }
1158
+ }
1159
+
1160
+ // 7. If either request’s response tainting or response’s type
1161
+ // is "opaque", and the cross-origin resource policy check with
1162
+ // request’s origin, request’s client, request’s destination,
1163
+ // and actualResponse returns blocked, then return a network error.
1164
+ if (
1165
+ (request.responseTainting === 'opaque' || response.type === 'opaque') &&
1166
+ crossOriginResourcePolicyCheck(
1167
+ request.origin,
1168
+ request.client,
1169
+ request.destination,
1170
+ actualResponse
1171
+ ) === 'blocked'
1172
+ ) {
1173
+ return makeNetworkError('blocked')
1174
+ }
1175
+
1176
+ // 8. If actualResponse’s status is a redirect status, then:
1177
+ if (redirectStatusSet.has(actualResponse.status)) {
1178
+ // 1. If actualResponse’s status is not 303, request’s body is not null,
1179
+ // and the connection uses HTTP/2, then user agents may, and are even
1180
+ // encouraged to, transmit an RST_STREAM frame.
1181
+ // See, https://github.com/whatwg/fetch/issues/1288
1182
+ if (request.redirect !== 'manual') {
1183
+ fetchParams.controller.connection.destroy(undefined, false)
1184
+ }
1185
+
1186
+ // 2. Switch on request’s redirect mode:
1187
+ if (request.redirect === 'error') {
1188
+ // Set response to a network error.
1189
+ response = makeNetworkError('unexpected redirect')
1190
+ } else if (request.redirect === 'manual') {
1191
+ // Set response to an opaque-redirect filtered response whose internal
1192
+ // response is actualResponse.
1193
+ // NOTE(spec): On the web this would return an `opaqueredirect` response,
1194
+ // but that doesn't make sense server side.
1195
+ // See https://github.com/nodejs/undici/issues/1193.
1196
+ response = actualResponse
1197
+ } else if (request.redirect === 'follow') {
1198
+ // Set response to the result of running HTTP-redirect fetch given
1199
+ // fetchParams and response.
1200
+ response = await httpRedirectFetch(fetchParams, response)
1201
+ } else {
1202
+ assert(false)
1203
+ }
1204
+ }
1205
+
1206
+ // 9. Set response’s timing info to timingInfo.
1207
+ response.timingInfo = timingInfo
1208
+
1209
+ // 10. Return response.
1210
+ return response
1211
+ }
1212
+
1213
+ // https://fetch.spec.whatwg.org/#http-redirect-fetch
1214
+ function httpRedirectFetch (fetchParams, response) {
1215
+ // 1. Let request be fetchParams’s request.
1216
+ const request = fetchParams.request
1217
+
1218
+ // 2. Let actualResponse be response, if response is not a filtered response,
1219
+ // and response’s internal response otherwise.
1220
+ const actualResponse = response.internalResponse
1221
+ ? response.internalResponse
1222
+ : response
1223
+
1224
+ // 3. Let locationURL be actualResponse’s location URL given request’s current
1225
+ // URL’s fragment.
1226
+ let locationURL
1227
+
1228
+ try {
1229
+ locationURL = responseLocationURL(
1230
+ actualResponse,
1231
+ requestCurrentURL(request).hash
1232
+ )
1233
+
1234
+ // 4. If locationURL is null, then return response.
1235
+ if (locationURL == null) {
1236
+ return response
1237
+ }
1238
+ } catch (err) {
1239
+ // 5. If locationURL is failure, then return a network error.
1240
+ return Promise.resolve(makeNetworkError(err))
1241
+ }
1242
+
1243
+ // 6. If locationURL’s scheme is not an HTTP(S) scheme, then return a network
1244
+ // error.
1245
+ if (!urlIsHttpHttpsScheme(locationURL)) {
1246
+ return Promise.resolve(makeNetworkError('URL scheme must be a HTTP(S) scheme'))
1247
+ }
1248
+
1249
+ // 7. If request’s redirect count is 20, then return a network error.
1250
+ if (request.redirectCount === 20) {
1251
+ return Promise.resolve(makeNetworkError('redirect count exceeded'))
1252
+ }
1253
+
1254
+ // 8. Increase request’s redirect count by 1.
1255
+ request.redirectCount += 1
1256
+
1257
+ // 9. If request’s mode is "cors", locationURL includes credentials, and
1258
+ // request’s origin is not same origin with locationURL’s origin, then return
1259
+ // a network error.
1260
+ if (
1261
+ request.mode === 'cors' &&
1262
+ (locationURL.username || locationURL.password) &&
1263
+ !sameOrigin(request, locationURL)
1264
+ ) {
1265
+ return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'))
1266
+ }
1267
+
1268
+ // 10. If request’s response tainting is "cors" and locationURL includes
1269
+ // credentials, then return a network error.
1270
+ if (
1271
+ request.responseTainting === 'cors' &&
1272
+ (locationURL.username || locationURL.password)
1273
+ ) {
1274
+ return Promise.resolve(makeNetworkError(
1275
+ 'URL cannot contain credentials for request mode "cors"'
1276
+ ))
1277
+ }
1278
+
1279
+ // 11. If actualResponse’s status is not 303, request’s body is non-null,
1280
+ // and request’s body’s source is null, then return a network error.
1281
+ if (
1282
+ actualResponse.status !== 303 &&
1283
+ request.body != null &&
1284
+ request.body.source == null
1285
+ ) {
1286
+ return Promise.resolve(makeNetworkError())
1287
+ }
1288
+
1289
+ // 12. If one of the following is true
1290
+ // - actualResponse’s status is 301 or 302 and request’s method is `POST`
1291
+ // - actualResponse’s status is 303 and request’s method is not `GET` or `HEAD`
1292
+ if (
1293
+ ([301, 302].includes(actualResponse.status) && request.method === 'POST') ||
1294
+ (actualResponse.status === 303 &&
1295
+ !GET_OR_HEAD.includes(request.method))
1296
+ ) {
1297
+ // then:
1298
+ // 1. Set request’s method to `GET` and request’s body to null.
1299
+ request.method = 'GET'
1300
+ request.body = null
1301
+
1302
+ // 2. For each headerName of request-body-header name, delete headerName from
1303
+ // request’s header list.
1304
+ for (const headerName of requestBodyHeader) {
1305
+ request.headersList.delete(headerName)
1306
+ }
1307
+ }
1308
+
1309
+ // 13. If request’s current URL’s origin is not same origin with locationURL’s
1310
+ // origin, then for each headerName of CORS non-wildcard request-header name,
1311
+ // delete headerName from request’s header list.
1312
+ if (!sameOrigin(requestCurrentURL(request), locationURL)) {
1313
+ // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name
1314
+ request.headersList.delete('authorization', true)
1315
+
1316
+ // https://fetch.spec.whatwg.org/#authentication-entries
1317
+ request.headersList.delete('proxy-authorization', true)
1318
+
1319
+ // "Cookie" and "Host" are forbidden request-headers, which undici doesn't implement.
1320
+ request.headersList.delete('cookie', true)
1321
+ request.headersList.delete('host', true)
1322
+ }
1323
+
1324
+ // 14. If request's body is non-null, then set request's body to the first return
1325
+ // value of safely extracting request's body's source.
1326
+ if (request.body != null) {
1327
+ assert(request.body.source != null)
1328
+ request.body = safelyExtractBody(request.body.source)[0]
1329
+ }
1330
+
1331
+ // 15. Let timingInfo be fetchParams’s timing info.
1332
+ const timingInfo = fetchParams.timingInfo
1333
+
1334
+ // 16. Set timingInfo’s redirect end time and post-redirect start time to the
1335
+ // coarsened shared current time given fetchParams’s cross-origin isolated
1336
+ // capability.
1337
+ timingInfo.redirectEndTime = timingInfo.postRedirectStartTime =
1338
+ coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)
1339
+
1340
+ // 17. If timingInfo’s redirect start time is 0, then set timingInfo’s
1341
+ // redirect start time to timingInfo’s start time.
1342
+ if (timingInfo.redirectStartTime === 0) {
1343
+ timingInfo.redirectStartTime = timingInfo.startTime
1344
+ }
1345
+
1346
+ // 18. Append locationURL to request’s URL list.
1347
+ request.urlList.push(locationURL)
1348
+
1349
+ // 19. Invoke set request’s referrer policy on redirect on request and
1350
+ // actualResponse.
1351
+ setRequestReferrerPolicyOnRedirect(request, actualResponse)
1352
+
1353
+ // 20. Return the result of running main fetch given fetchParams and true.
1354
+ return mainFetch(fetchParams, true)
1355
+ }
1356
+
1357
+ // https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
1358
+ async function httpNetworkOrCacheFetch (
1359
+ fetchParams,
1360
+ isAuthenticationFetch = false,
1361
+ isNewConnectionFetch = false
1362
+ ) {
1363
+ // 1. Let request be fetchParams’s request.
1364
+ const request = fetchParams.request
1365
+
1366
+ // 2. Let httpFetchParams be null.
1367
+ let httpFetchParams = null
1368
+
1369
+ // 3. Let httpRequest be null.
1370
+ let httpRequest = null
1371
+
1372
+ // 4. Let response be null.
1373
+ let response = null
1374
+
1375
+ // 5. Let storedResponse be null.
1376
+ // TODO: cache
1377
+
1378
+ // 6. Let httpCache be null.
1379
+ const httpCache = null
1380
+
1381
+ // 7. Let the revalidatingFlag be unset.
1382
+ const revalidatingFlag = false
1383
+
1384
+ // 8. Run these steps, but abort when the ongoing fetch is terminated:
1385
+
1386
+ // 1. If request’s window is "no-window" and request’s redirect mode is
1387
+ // "error", then set httpFetchParams to fetchParams and httpRequest to
1388
+ // request.
1389
+ if (request.window === 'no-window' && request.redirect === 'error') {
1390
+ httpFetchParams = fetchParams
1391
+ httpRequest = request
1392
+ } else {
1393
+ // Otherwise:
1394
+
1395
+ // 1. Set httpRequest to a clone of request.
1396
+ httpRequest = cloneRequest(request)
1397
+
1398
+ // 2. Set httpFetchParams to a copy of fetchParams.
1399
+ httpFetchParams = { ...fetchParams }
1400
+
1401
+ // 3. Set httpFetchParams’s request to httpRequest.
1402
+ httpFetchParams.request = httpRequest
1403
+ }
1404
+
1405
+ // 3. Let includeCredentials be true if one of
1406
+ const includeCredentials =
1407
+ request.credentials === 'include' ||
1408
+ (request.credentials === 'same-origin' &&
1409
+ request.responseTainting === 'basic')
1410
+
1411
+ // 4. Let contentLength be httpRequest’s body’s length, if httpRequest’s
1412
+ // body is non-null; otherwise null.
1413
+ const contentLength = httpRequest.body ? httpRequest.body.length : null
1414
+
1415
+ // 5. Let contentLengthHeaderValue be null.
1416
+ let contentLengthHeaderValue = null
1417
+
1418
+ // 6. If httpRequest’s body is null and httpRequest’s method is `POST` or
1419
+ // `PUT`, then set contentLengthHeaderValue to `0`.
1420
+ if (
1421
+ httpRequest.body == null &&
1422
+ ['POST', 'PUT'].includes(httpRequest.method)
1423
+ ) {
1424
+ contentLengthHeaderValue = '0'
1425
+ }
1426
+
1427
+ // 7. If contentLength is non-null, then set contentLengthHeaderValue to
1428
+ // contentLength, serialized and isomorphic encoded.
1429
+ if (contentLength != null) {
1430
+ contentLengthHeaderValue = isomorphicEncode(`${contentLength}`)
1431
+ }
1432
+
1433
+ // 8. If contentLengthHeaderValue is non-null, then append
1434
+ // `Content-Length`/contentLengthHeaderValue to httpRequest’s header
1435
+ // list.
1436
+ if (contentLengthHeaderValue != null) {
1437
+ httpRequest.headersList.append('content-length', contentLengthHeaderValue, true)
1438
+ }
1439
+
1440
+ // 9. If contentLengthHeaderValue is non-null, then append (`Content-Length`,
1441
+ // contentLengthHeaderValue) to httpRequest’s header list.
1442
+
1443
+ // 10. If contentLength is non-null and httpRequest’s keepalive is true,
1444
+ // then:
1445
+ if (contentLength != null && httpRequest.keepalive) {
1446
+ // NOTE: keepalive is a noop outside of browser context.
1447
+ }
1448
+
1449
+ // 11. If httpRequest’s referrer is a URL, then append
1450
+ // `Referer`/httpRequest’s referrer, serialized and isomorphic encoded,
1451
+ // to httpRequest’s header list.
1452
+ if (webidl.is.URL(httpRequest.referrer)) {
1453
+ httpRequest.headersList.append('referer', isomorphicEncode(httpRequest.referrer.href), true)
1454
+ }
1455
+
1456
+ // 12. Append a request `Origin` header for httpRequest.
1457
+ appendRequestOriginHeader(httpRequest)
1458
+
1459
+ // 13. Append the Fetch metadata headers for httpRequest. [FETCH-METADATA]
1460
+ appendFetchMetadata(httpRequest)
1461
+
1462
+ // 14. If httpRequest’s header list does not contain `User-Agent`, then
1463
+ // user agents should append `User-Agent`/default `User-Agent` value to
1464
+ // httpRequest’s header list.
1465
+ if (!httpRequest.headersList.contains('user-agent', true)) {
1466
+ httpRequest.headersList.append('user-agent', defaultUserAgent, true)
1467
+ }
1468
+
1469
+ // 15. If httpRequest’s cache mode is "default" and httpRequest’s header
1470
+ // list contains `If-Modified-Since`, `If-None-Match`,
1471
+ // `If-Unmodified-Since`, `If-Match`, or `If-Range`, then set
1472
+ // httpRequest’s cache mode to "no-store".
1473
+ if (
1474
+ httpRequest.cache === 'default' &&
1475
+ (httpRequest.headersList.contains('if-modified-since', true) ||
1476
+ httpRequest.headersList.contains('if-none-match', true) ||
1477
+ httpRequest.headersList.contains('if-unmodified-since', true) ||
1478
+ httpRequest.headersList.contains('if-match', true) ||
1479
+ httpRequest.headersList.contains('if-range', true))
1480
+ ) {
1481
+ httpRequest.cache = 'no-store'
1482
+ }
1483
+
1484
+ // 16. If httpRequest’s cache mode is "no-cache", httpRequest’s prevent
1485
+ // no-cache cache-control header modification flag is unset, and
1486
+ // httpRequest’s header list does not contain `Cache-Control`, then append
1487
+ // `Cache-Control`/`max-age=0` to httpRequest’s header list.
1488
+ if (
1489
+ httpRequest.cache === 'no-cache' &&
1490
+ !httpRequest.preventNoCacheCacheControlHeaderModification &&
1491
+ !httpRequest.headersList.contains('cache-control', true)
1492
+ ) {
1493
+ httpRequest.headersList.append('cache-control', 'max-age=0', true)
1494
+ }
1495
+
1496
+ // 17. If httpRequest’s cache mode is "no-store" or "reload", then:
1497
+ if (httpRequest.cache === 'no-store' || httpRequest.cache === 'reload') {
1498
+ // 1. If httpRequest’s header list does not contain `Pragma`, then append
1499
+ // `Pragma`/`no-cache` to httpRequest’s header list.
1500
+ if (!httpRequest.headersList.contains('pragma', true)) {
1501
+ httpRequest.headersList.append('pragma', 'no-cache', true)
1502
+ }
1503
+
1504
+ // 2. If httpRequest’s header list does not contain `Cache-Control`,
1505
+ // then append `Cache-Control`/`no-cache` to httpRequest’s header list.
1506
+ if (!httpRequest.headersList.contains('cache-control', true)) {
1507
+ httpRequest.headersList.append('cache-control', 'no-cache', true)
1508
+ }
1509
+ }
1510
+
1511
+ // 18. If httpRequest’s header list contains `Range`, then append
1512
+ // `Accept-Encoding`/`identity` to httpRequest’s header list.
1513
+ if (httpRequest.headersList.contains('range', true)) {
1514
+ httpRequest.headersList.append('accept-encoding', 'identity', true)
1515
+ }
1516
+
1517
+ // 19. Modify httpRequest’s header list per HTTP. Do not append a given
1518
+ // header if httpRequest’s header list contains that header’s name.
1519
+ // TODO: https://github.com/whatwg/fetch/issues/1285#issuecomment-896560129
1520
+ if (!httpRequest.headersList.contains('accept-encoding', true)) {
1521
+ if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
1522
+ httpRequest.headersList.append('accept-encoding', 'br, gzip, deflate', true)
1523
+ } else {
1524
+ httpRequest.headersList.append('accept-encoding', 'gzip, deflate', true)
1525
+ }
1526
+ }
1527
+
1528
+ httpRequest.headersList.delete('host', true)
1529
+
1530
+ // 21. If includeCredentials is true, then:
1531
+ if (includeCredentials) {
1532
+ // 1. If the user agent is not configured to block cookies for httpRequest
1533
+ // (see section 7 of [COOKIES]), then:
1534
+ // TODO: credentials
1535
+
1536
+ // 2. If httpRequest’s header list does not contain `Authorization`, then:
1537
+ if (!httpRequest.headersList.contains('authorization', true)) {
1538
+ // 1. Let authorizationValue be null.
1539
+ let authorizationValue = null
1540
+
1541
+ // 2. If there’s an authentication entry for httpRequest and either
1542
+ // httpRequest’s use-URL-credentials flag is unset or httpRequest’s
1543
+ // current URL does not include credentials, then set
1544
+ // authorizationValue to authentication entry.
1545
+ if (hasAuthenticationEntry(httpRequest) && (
1546
+ httpRequest.useURLCredentials === undefined || !includesCredentials(requestCurrentURL(httpRequest))
1547
+ )) {
1548
+ // TODO
1549
+ } else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
1550
+ // 3. Otherwise, if httpRequest’s current URL does include credentials
1551
+ // and isAuthenticationFetch is true, set authorizationValue to
1552
+ // httpRequest’s current URL, converted to an `Authorization` value
1553
+ const { username, password } = requestCurrentURL(httpRequest)
1554
+ authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`
1555
+ }
1556
+
1557
+ // 4. If authorizationValue is non-null, then append (`Authorization`,
1558
+ // authorizationValue) to httpRequest’s header list.
1559
+ if (authorizationValue !== null) {
1560
+ httpRequest.headersList.append('Authorization', authorizationValue, false)
1561
+ }
1562
+ }
1563
+ }
1564
+
1565
+ // 21. If there’s a proxy-authentication entry, use it as appropriate.
1566
+ // TODO: proxy-authentication
1567
+
1568
+ // 22. Set httpCache to the result of determining the HTTP cache
1569
+ // partition, given httpRequest.
1570
+ // TODO: cache
1571
+
1572
+ // 23. If httpCache is null, then set httpRequest’s cache mode to
1573
+ // "no-store".
1574
+ if (httpCache == null) {
1575
+ httpRequest.cache = 'no-store'
1576
+ }
1577
+
1578
+ // 24. If httpRequest’s cache mode is neither "no-store" nor "reload",
1579
+ // then:
1580
+ if (httpRequest.cache !== 'no-store' && httpRequest.cache !== 'reload') {
1581
+ // TODO: cache
1582
+ }
1583
+
1584
+ // 9. If aborted, then return the appropriate network error for fetchParams.
1585
+ // TODO
1586
+
1587
+ // 10. If response is null, then:
1588
+ if (response == null) {
1589
+ // 1. If httpRequest’s cache mode is "only-if-cached", then return a
1590
+ // network error.
1591
+ if (httpRequest.cache === 'only-if-cached') {
1592
+ return makeNetworkError('only if cached')
1593
+ }
1594
+
1595
+ // 2. Let forwardResponse be the result of running HTTP-network fetch
1596
+ // given httpFetchParams, includeCredentials, and isNewConnectionFetch.
1597
+ const forwardResponse = await httpNetworkFetch(
1598
+ httpFetchParams,
1599
+ includeCredentials,
1600
+ isNewConnectionFetch
1601
+ )
1602
+
1603
+ // 3. If httpRequest’s method is unsafe and forwardResponse’s status is
1604
+ // in the range 200 to 399, inclusive, invalidate appropriate stored
1605
+ // responses in httpCache, as per the "Invalidation" chapter of HTTP
1606
+ // Caching, and set storedResponse to null. [HTTP-CACHING]
1607
+ if (
1608
+ !safeMethodsSet.has(httpRequest.method) &&
1609
+ forwardResponse.status >= 200 &&
1610
+ forwardResponse.status <= 399
1611
+ ) {
1612
+ // TODO: cache
1613
+ }
1614
+
1615
+ // 4. If the revalidatingFlag is set and forwardResponse’s status is 304,
1616
+ // then:
1617
+ if (revalidatingFlag && forwardResponse.status === 304) {
1618
+ // TODO: cache
1619
+ }
1620
+
1621
+ // 5. If response is null, then:
1622
+ if (response == null) {
1623
+ // 1. Set response to forwardResponse.
1624
+ response = forwardResponse
1625
+
1626
+ // 2. Store httpRequest and forwardResponse in httpCache, as per the
1627
+ // "Storing Responses in Caches" chapter of HTTP Caching. [HTTP-CACHING]
1628
+ // TODO: cache
1629
+ }
1630
+ }
1631
+
1632
+ // 11. Set response’s URL list to a clone of httpRequest’s URL list.
1633
+ response.urlList = [...httpRequest.urlList]
1634
+
1635
+ // 12. If httpRequest’s header list contains `Range`, then set response’s
1636
+ // range-requested flag.
1637
+ if (httpRequest.headersList.contains('range', true)) {
1638
+ response.rangeRequested = true
1639
+ }
1640
+
1641
+ // 13. Set response’s request-includes-credentials to includeCredentials.
1642
+ response.requestIncludesCredentials = includeCredentials
1643
+
1644
+ // 14. If response’s status is 401, httpRequest’s response tainting is not "cors",
1645
+ // includeCredentials is true, and request’s traversable for user prompts is
1646
+ // a traversable navigable:
1647
+ if (response.status === 401 && httpRequest.responseTainting !== 'cors' && includeCredentials && isTraversableNavigable(request.traversableForUserPrompts)) {
1648
+ // 2. If request’s body is non-null, then:
1649
+ if (request.body != null) {
1650
+ // 1. If request’s body’s source is null, then return a network error.
1651
+ if (request.body.source == null) {
1652
+ return makeNetworkError('expected non-null body source')
1653
+ }
1654
+
1655
+ // 2. Set request’s body to the body of the result of safely extracting
1656
+ // request’s body’s source.
1657
+ request.body = safelyExtractBody(request.body.source)[0]
1658
+ }
1659
+
1660
+ // 3. If request’s use-URL-credentials flag is unset or isAuthenticationFetch is
1661
+ // true, then:
1662
+ if (request.useURLCredentials === undefined || isAuthenticationFetch) {
1663
+ // 1. If fetchParams is canceled, then return the appropriate network error
1664
+ // for fetchParams.
1665
+ if (isCancelled(fetchParams)) {
1666
+ return makeAppropriateNetworkError(fetchParams)
1667
+ }
1668
+
1669
+ // 2. Let username and password be the result of prompting the end user for a
1670
+ // username and password, respectively, in request’s traversable for user prompts.
1671
+ // TODO
1672
+
1673
+ // 3. Set the username given request’s current URL and username.
1674
+ // requestCurrentURL(request).username = TODO
1675
+
1676
+ // 4. Set the password given request’s current URL and password.
1677
+ // requestCurrentURL(request).password = TODO
1678
+
1679
+ // In browsers, the user will be prompted to enter a username/password before the request
1680
+ // is re-sent. To prevent an infinite 401 loop, return the response for now.
1681
+ // https://github.com/nodejs/undici/pull/4756
1682
+ return response
1683
+ }
1684
+
1685
+ // 4. Set response to the result of running HTTP-network-or-cache fetch given
1686
+ // fetchParams and true.
1687
+ fetchParams.controller.connection.destroy()
1688
+
1689
+ response = await httpNetworkOrCacheFetch(fetchParams, true)
1690
+ }
1691
+
1692
+ // 15. If response’s status is 407, then:
1693
+ if (response.status === 407) {
1694
+ // 1. If request’s window is "no-window", then return a network error.
1695
+ if (request.window === 'no-window') {
1696
+ return makeNetworkError()
1697
+ }
1698
+
1699
+ // 2. ???
1700
+
1701
+ // 3. If fetchParams is canceled, then return the appropriate network error for fetchParams.
1702
+ if (isCancelled(fetchParams)) {
1703
+ return makeAppropriateNetworkError(fetchParams)
1704
+ }
1705
+
1706
+ // 4. Prompt the end user as appropriate in request’s window and store
1707
+ // the result as a proxy-authentication entry. [HTTP-AUTH]
1708
+ // TODO: Invoke some kind of callback?
1709
+
1710
+ // 5. Set response to the result of running HTTP-network-or-cache fetch given
1711
+ // fetchParams.
1712
+ // TODO
1713
+ return makeNetworkError('proxy authentication required')
1714
+ }
1715
+
1716
+ // 16. If all of the following are true
1717
+ if (
1718
+ // response’s status is 421
1719
+ response.status === 421 &&
1720
+ // isNewConnectionFetch is false
1721
+ !isNewConnectionFetch &&
1722
+ // request’s body is null, or request’s body is non-null and request’s body’s source is non-null
1723
+ (request.body == null || request.body.source != null)
1724
+ ) {
1725
+ // then:
1726
+
1727
+ // 1. If fetchParams is canceled, then return the appropriate network error for fetchParams.
1728
+ if (isCancelled(fetchParams)) {
1729
+ return makeAppropriateNetworkError(fetchParams)
1730
+ }
1731
+
1732
+ // 2. Set response to the result of running HTTP-network-or-cache
1733
+ // fetch given fetchParams, isAuthenticationFetch, and true.
1734
+
1735
+ // TODO (spec): The spec doesn't specify this but we need to cancel
1736
+ // the active response before we can start a new one.
1737
+ // https://github.com/whatwg/fetch/issues/1293
1738
+ fetchParams.controller.connection.destroy()
1739
+
1740
+ response = await httpNetworkOrCacheFetch(
1741
+ fetchParams,
1742
+ isAuthenticationFetch,
1743
+ true
1744
+ )
1745
+ }
1746
+
1747
+ // 17. If isAuthenticationFetch is true, then create an authentication entry
1748
+ if (isAuthenticationFetch) {
1749
+ // TODO
1750
+ }
1751
+
1752
+ // 18. Return response.
1753
+ return response
1754
+ }
1755
+
1756
+ // https://fetch.spec.whatwg.org/#http-network-fetch
1757
+ async function httpNetworkFetch (
1758
+ fetchParams,
1759
+ includeCredentials = false,
1760
+ forceNewConnection = false
1761
+ ) {
1762
+ assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed)
1763
+
1764
+ fetchParams.controller.connection = {
1765
+ abort: null,
1766
+ destroyed: false,
1767
+ destroy (err, abort = true) {
1768
+ if (!this.destroyed) {
1769
+ this.destroyed = true
1770
+ if (abort) {
1771
+ this.abort?.(err ?? new DOMException('The operation was aborted.', 'AbortError'))
1772
+ }
1773
+ }
1774
+ }
1775
+ }
1776
+
1777
+ // 1. Let request be fetchParams’s request.
1778
+ const request = fetchParams.request
1779
+
1780
+ // 2. Let response be null.
1781
+ let response = null
1782
+
1783
+ // 3. Let timingInfo be fetchParams’s timing info.
1784
+ const timingInfo = fetchParams.timingInfo
1785
+
1786
+ // 4. Let httpCache be the result of determining the HTTP cache partition,
1787
+ // given request.
1788
+ // TODO: cache
1789
+ const httpCache = null
1790
+
1791
+ // 5. If httpCache is null, then set request’s cache mode to "no-store".
1792
+ if (httpCache == null) {
1793
+ request.cache = 'no-store'
1794
+ }
1795
+
1796
+ // 6. Let networkPartitionKey be the result of determining the network
1797
+ // partition key given request.
1798
+ // TODO
1799
+
1800
+ // 7. Let newConnection be "yes" if forceNewConnection is true; otherwise
1801
+ // "no".
1802
+ const newConnection = forceNewConnection ? 'yes' : 'no' // eslint-disable-line no-unused-vars
1803
+
1804
+ // 8. Switch on request’s mode:
1805
+ if (request.mode === 'websocket') {
1806
+ // Let connection be the result of obtaining a WebSocket connection,
1807
+ // given request’s current URL.
1808
+ // TODO
1809
+ } else {
1810
+ // Let connection be the result of obtaining a connection, given
1811
+ // networkPartitionKey, request’s current URL’s origin,
1812
+ // includeCredentials, and forceNewConnection.
1813
+ // TODO
1814
+ }
1815
+
1816
+ // 9. Run these steps, but abort when the ongoing fetch is terminated:
1817
+
1818
+ // 1. If connection is failure, then return a network error.
1819
+
1820
+ // 2. Set timingInfo’s final connection timing info to the result of
1821
+ // calling clamp and coarsen connection timing info with connection’s
1822
+ // timing info, timingInfo’s post-redirect start time, and fetchParams’s
1823
+ // cross-origin isolated capability.
1824
+
1825
+ // 3. If connection is not an HTTP/2 connection, request’s body is non-null,
1826
+ // and request’s body’s source is null, then append (`Transfer-Encoding`,
1827
+ // `chunked`) to request’s header list.
1828
+
1829
+ // 4. Set timingInfo’s final network-request start time to the coarsened
1830
+ // shared current time given fetchParams’s cross-origin isolated
1831
+ // capability.
1832
+
1833
+ // 5. Set response to the result of making an HTTP request over connection
1834
+ // using request with the following caveats:
1835
+
1836
+ // - Follow the relevant requirements from HTTP. [HTTP] [HTTP-SEMANTICS]
1837
+ // [HTTP-COND] [HTTP-CACHING] [HTTP-AUTH]
1838
+
1839
+ // - If request’s body is non-null, and request’s body’s source is null,
1840
+ // then the user agent may have a buffer of up to 64 kibibytes and store
1841
+ // a part of request’s body in that buffer. If the user agent reads from
1842
+ // request’s body beyond that buffer’s size and the user agent needs to
1843
+ // resend request, then instead return a network error.
1844
+
1845
+ // - Set timingInfo’s final network-response start time to the coarsened
1846
+ // shared current time given fetchParams’s cross-origin isolated capability,
1847
+ // immediately after the user agent’s HTTP parser receives the first byte
1848
+ // of the response (e.g., frame header bytes for HTTP/2 or response status
1849
+ // line for HTTP/1.x).
1850
+
1851
+ // - Wait until all the headers are transmitted.
1852
+
1853
+ // - Any responses whose status is in the range 100 to 199, inclusive,
1854
+ // and is not 101, are to be ignored, except for the purposes of setting
1855
+ // timingInfo’s final network-response start time above.
1856
+
1857
+ // - If request’s header list contains `Transfer-Encoding`/`chunked` and
1858
+ // response is transferred via HTTP/1.0 or older, then return a network
1859
+ // error.
1860
+
1861
+ // - If the HTTP request results in a TLS client certificate dialog, then:
1862
+
1863
+ // 1. If request’s window is an environment settings object, make the
1864
+ // dialog available in request’s window.
1865
+
1866
+ // 2. Otherwise, return a network error.
1867
+
1868
+ // To transmit request’s body body, run these steps:
1869
+ let requestBody = null
1870
+ // 1. If body is null and fetchParams’s process request end-of-body is
1871
+ // non-null, then queue a fetch task given fetchParams’s process request
1872
+ // end-of-body and fetchParams’s task destination.
1873
+ if (request.body == null && fetchParams.processRequestEndOfBody) {
1874
+ queueMicrotask(() => fetchParams.processRequestEndOfBody())
1875
+ } else if (request.body != null) {
1876
+ // 2. Otherwise, if body is non-null:
1877
+
1878
+ // 1. Let processBodyChunk given bytes be these steps:
1879
+ const processBodyChunk = async function * (bytes) {
1880
+ // 1. If the ongoing fetch is terminated, then abort these steps.
1881
+ if (isCancelled(fetchParams)) {
1882
+ return
1883
+ }
1884
+
1885
+ // 2. Run this step in parallel: transmit bytes.
1886
+ yield bytes
1887
+
1888
+ // 3. If fetchParams’s process request body is non-null, then run
1889
+ // fetchParams’s process request body given bytes’s length.
1890
+ fetchParams.processRequestBodyChunkLength?.(bytes.byteLength)
1891
+ }
1892
+
1893
+ // 2. Let processEndOfBody be these steps:
1894
+ const processEndOfBody = () => {
1895
+ // 1. If fetchParams is canceled, then abort these steps.
1896
+ if (isCancelled(fetchParams)) {
1897
+ return
1898
+ }
1899
+
1900
+ // 2. If fetchParams’s process request end-of-body is non-null,
1901
+ // then run fetchParams’s process request end-of-body.
1902
+ if (fetchParams.processRequestEndOfBody) {
1903
+ fetchParams.processRequestEndOfBody()
1904
+ }
1905
+ }
1906
+
1907
+ // 3. Let processBodyError given e be these steps:
1908
+ const processBodyError = (e) => {
1909
+ // 1. If fetchParams is canceled, then abort these steps.
1910
+ if (isCancelled(fetchParams)) {
1911
+ return
1912
+ }
1913
+
1914
+ // 2. If e is an "AbortError" DOMException, then abort fetchParams’s controller.
1915
+ if (e.name === 'AbortError') {
1916
+ fetchParams.controller.abort()
1917
+ } else {
1918
+ fetchParams.controller.terminate(e)
1919
+ }
1920
+ }
1921
+
1922
+ // 4. Incrementally read request’s body given processBodyChunk, processEndOfBody,
1923
+ // processBodyError, and fetchParams’s task destination.
1924
+ requestBody = (async function * () {
1925
+ try {
1926
+ for await (const bytes of request.body.stream) {
1927
+ yield * processBodyChunk(bytes)
1928
+ }
1929
+ processEndOfBody()
1930
+ } catch (err) {
1931
+ processBodyError(err)
1932
+ }
1933
+ })()
1934
+ }
1935
+
1936
+ try {
1937
+ // socket is only provided for websockets
1938
+ const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody })
1939
+
1940
+ if (socket) {
1941
+ response = makeResponse({ status, statusText, headersList, socket })
1942
+ } else {
1943
+ const iterator = body[Symbol.asyncIterator]()
1944
+ fetchParams.controller.next = () => iterator.next()
1945
+
1946
+ response = makeResponse({ status, statusText, headersList })
1947
+ }
1948
+ } catch (err) {
1949
+ // 10. If aborted, then:
1950
+ if (err.name === 'AbortError') {
1951
+ // 1. If connection uses HTTP/2, then transmit an RST_STREAM frame.
1952
+ fetchParams.controller.connection.destroy()
1953
+
1954
+ // 2. Return the appropriate network error for fetchParams.
1955
+ return makeAppropriateNetworkError(fetchParams, err)
1956
+ }
1957
+
1958
+ return makeNetworkError(err)
1959
+ }
1960
+
1961
+ // 11. Let pullAlgorithm be an action that resumes the ongoing fetch
1962
+ // if it is suspended.
1963
+ const pullAlgorithm = () => {
1964
+ return fetchParams.controller.resume()
1965
+ }
1966
+
1967
+ // 12. Let cancelAlgorithm be an algorithm that aborts fetchParams’s
1968
+ // controller with reason, given reason.
1969
+ const cancelAlgorithm = (reason) => {
1970
+ // If the aborted fetch was already terminated, then we do not
1971
+ // need to do anything.
1972
+ if (!isCancelled(fetchParams)) {
1973
+ fetchParams.controller.abort(reason)
1974
+ }
1975
+ }
1976
+
1977
+ // 13. Let highWaterMark be a non-negative, non-NaN number, chosen by
1978
+ // the user agent.
1979
+ // TODO
1980
+
1981
+ // 14. Let sizeAlgorithm be an algorithm that accepts a chunk object
1982
+ // and returns a non-negative, non-NaN, non-infinite number, chosen by the user agent.
1983
+ // TODO
1984
+
1985
+ // 15. Let stream be a new ReadableStream.
1986
+ // 16. Set up stream with byte reading support with pullAlgorithm set to pullAlgorithm,
1987
+ // cancelAlgorithm set to cancelAlgorithm.
1988
+ const stream = new ReadableStream(
1989
+ {
1990
+ start (controller) {
1991
+ fetchParams.controller.controller = controller
1992
+ },
1993
+ pull: pullAlgorithm,
1994
+ cancel: cancelAlgorithm,
1995
+ type: 'bytes'
1996
+ }
1997
+ )
1998
+
1999
+ // 17. Run these steps, but abort when the ongoing fetch is terminated:
2000
+
2001
+ // 1. Set response’s body to a new body whose stream is stream.
2002
+ response.body = { stream, source: null, length: null }
2003
+
2004
+ // 2. If response is not a network error and request’s cache mode is
2005
+ // not "no-store", then update response in httpCache for request.
2006
+ // TODO
2007
+
2008
+ // 3. If includeCredentials is true and the user agent is not configured
2009
+ // to block cookies for request (see section 7 of [COOKIES]), then run the
2010
+ // "set-cookie-string" parsing algorithm (see section 5.2 of [COOKIES]) on
2011
+ // the value of each header whose name is a byte-case-insensitive match for
2012
+ // `Set-Cookie` in response’s header list, if any, and request’s current URL.
2013
+ // TODO
2014
+
2015
+ // 18. If aborted, then:
2016
+ // TODO
2017
+
2018
+ // 19. Run these steps in parallel:
2019
+
2020
+ // 1. Run these steps, but abort when fetchParams is canceled:
2021
+ if (!fetchParams.controller.resume) {
2022
+ fetchParams.controller.on('terminated', onAborted)
2023
+ }
2024
+
2025
+ fetchParams.controller.resume = async () => {
2026
+ // 1. While true
2027
+ while (true) {
2028
+ // 1-3. See onData...
2029
+
2030
+ // 4. Set bytes to the result of handling content codings given
2031
+ // codings and bytes.
2032
+ let bytes
2033
+ let isFailure
2034
+ try {
2035
+ const { done, value } = await fetchParams.controller.next()
2036
+
2037
+ if (isAborted(fetchParams)) {
2038
+ break
2039
+ }
2040
+
2041
+ bytes = done ? undefined : value
2042
+ } catch (err) {
2043
+ if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
2044
+ // zlib doesn't like empty streams.
2045
+ bytes = undefined
2046
+ } else {
2047
+ bytes = err
2048
+
2049
+ // err may be propagated from the result of calling readablestream.cancel,
2050
+ // which might not be an error. https://github.com/nodejs/undici/issues/2009
2051
+ isFailure = true
2052
+ }
2053
+ }
2054
+
2055
+ if (bytes === undefined) {
2056
+ // 2. Otherwise, if the bytes transmission for response’s message
2057
+ // body is done normally and stream is readable, then close
2058
+ // stream, finalize response for fetchParams and response, and
2059
+ // abort these in-parallel steps.
2060
+ readableStreamClose(fetchParams.controller.controller)
2061
+
2062
+ finalizeResponse(fetchParams, response)
2063
+
2064
+ return
2065
+ }
2066
+
2067
+ // 5. Increase timingInfo’s decoded body size by bytes’s length.
2068
+ timingInfo.decodedBodySize += bytes?.byteLength ?? 0
2069
+
2070
+ // 6. If bytes is failure, then terminate fetchParams’s controller.
2071
+ if (isFailure) {
2072
+ fetchParams.controller.terminate(bytes)
2073
+ return
2074
+ }
2075
+
2076
+ // 7. Enqueue a Uint8Array wrapping an ArrayBuffer containing bytes
2077
+ // into stream.
2078
+ const buffer = new Uint8Array(bytes)
2079
+ if (buffer.byteLength) {
2080
+ fetchParams.controller.controller.enqueue(buffer)
2081
+ }
2082
+
2083
+ // 8. If stream is errored, then terminate the ongoing fetch.
2084
+ if (isErrored(stream)) {
2085
+ fetchParams.controller.terminate()
2086
+ return
2087
+ }
2088
+
2089
+ // 9. If stream doesn’t need more data ask the user agent to suspend
2090
+ // the ongoing fetch.
2091
+ if (fetchParams.controller.controller.desiredSize <= 0) {
2092
+ return
2093
+ }
2094
+ }
2095
+ }
2096
+
2097
+ // 2. If aborted, then:
2098
+ function onAborted (reason) {
2099
+ // 2. If fetchParams is aborted, then:
2100
+ if (isAborted(fetchParams)) {
2101
+ // 1. Set response’s aborted flag.
2102
+ response.aborted = true
2103
+
2104
+ // 2. If stream is readable, then error stream with the result of
2105
+ // deserialize a serialized abort reason given fetchParams’s
2106
+ // controller’s serialized abort reason and an
2107
+ // implementation-defined realm.
2108
+ if (isReadable(stream)) {
2109
+ fetchParams.controller.controller.error(
2110
+ fetchParams.controller.serializedAbortReason
2111
+ )
2112
+ }
2113
+ } else {
2114
+ // 3. Otherwise, if stream is readable, error stream with a TypeError.
2115
+ if (isReadable(stream)) {
2116
+ fetchParams.controller.controller.error(new TypeError('terminated', {
2117
+ cause: isErrorLike(reason) ? reason : undefined
2118
+ }))
2119
+ }
2120
+ }
2121
+
2122
+ // 4. If connection uses HTTP/2, then transmit an RST_STREAM frame.
2123
+ // 5. Otherwise, the user agent should close connection unless it would be bad for performance to do so.
2124
+ fetchParams.controller.connection.destroy()
2125
+ }
2126
+
2127
+ // 20. Return response.
2128
+ return response
2129
+
2130
+ function dispatch ({ body }) {
2131
+ const url = requestCurrentURL(request)
2132
+ /** @type {import('../../..').Agent} */
2133
+ const agent = fetchParams.controller.dispatcher
2134
+
2135
+ const path = url.pathname + url.search
2136
+ const hasTrailingQuestionMark = url.search.length === 0 && url.href[url.href.length - url.hash.length - 1] === '?'
2137
+
2138
+ return new Promise((resolve, reject) => agent.dispatch(
2139
+ {
2140
+ path: hasTrailingQuestionMark ? `${path}?` : path,
2141
+ origin: url.origin,
2142
+ method: request.method,
2143
+ body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
2144
+ headers: request.headersList.entries,
2145
+ maxRedirections: 0,
2146
+ upgrade: request.mode === 'websocket' ? 'websocket' : undefined
2147
+ },
2148
+ {
2149
+ body: null,
2150
+ abort: null,
2151
+
2152
+ onConnect (abort) {
2153
+ // TODO (fix): Do we need connection here?
2154
+ const { connection } = fetchParams.controller
2155
+
2156
+ // Set timingInfo’s final connection timing info to the result of calling clamp and coarsen
2157
+ // connection timing info with connection’s timing info, timingInfo’s post-redirect start
2158
+ // time, and fetchParams’s cross-origin isolated capability.
2159
+ // TODO: implement connection timing
2160
+ timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability)
2161
+
2162
+ if (connection.destroyed) {
2163
+ abort(new DOMException('The operation was aborted.', 'AbortError'))
2164
+ } else {
2165
+ fetchParams.controller.on('terminated', abort)
2166
+ this.abort = connection.abort = abort
2167
+ }
2168
+
2169
+ // Set timingInfo’s final network-request start time to the coarsened shared current time given
2170
+ // fetchParams’s cross-origin isolated capability.
2171
+ timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)
2172
+ },
2173
+
2174
+ onResponseStarted () {
2175
+ // Set timingInfo’s final network-response start time to the coarsened shared current
2176
+ // time given fetchParams’s cross-origin isolated capability, immediately after the
2177
+ // user agent’s HTTP parser receives the first byte of the response (e.g., frame header
2178
+ // bytes for HTTP/2 or response status line for HTTP/1.x).
2179
+ timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability)
2180
+ },
2181
+
2182
+ onHeaders (status, rawHeaders, resume, statusText) {
2183
+ if (status < 200) {
2184
+ return false
2185
+ }
2186
+
2187
+ const headersList = new HeadersList()
2188
+
2189
+ for (let i = 0; i < rawHeaders.length; i += 2) {
2190
+ const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i])
2191
+ const value = rawHeaders[i + 1]
2192
+ if (Array.isArray(value) && !Buffer.isBuffer(rawHeaders[i + 1])) {
2193
+ for (const val of value) {
2194
+ headersList.append(nameStr, val.toString('latin1'), true)
2195
+ }
2196
+ } else {
2197
+ headersList.append(nameStr, value.toString('latin1'), true)
2198
+ }
2199
+ }
2200
+ const location = headersList.get('location', true)
2201
+
2202
+ this.body = new Readable({ read: resume })
2203
+
2204
+ const willFollow = location && request.redirect === 'follow' &&
2205
+ redirectStatusSet.has(status)
2206
+
2207
+ const decoders = []
2208
+
2209
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
2210
+ if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {
2211
+ // https://www.rfc-editor.org/rfc/rfc7231#section-3.1.2.1
2212
+ const contentEncoding = headersList.get('content-encoding', true)
2213
+ // "All content-coding values are case-insensitive..."
2214
+ /** @type {string[]} */
2215
+ const codings = contentEncoding ? contentEncoding.toLowerCase().split(',') : []
2216
+
2217
+ // Limit the number of content-encodings to prevent resource exhaustion.
2218
+ // CVE fix similar to urllib3 (GHSA-gm62-xv2j-4w53) and curl (CVE-2022-32206).
2219
+ const maxContentEncodings = 5
2220
+ if (codings.length > maxContentEncodings) {
2221
+ reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`))
2222
+ return true
2223
+ }
2224
+
2225
+ for (let i = codings.length - 1; i >= 0; --i) {
2226
+ const coding = codings[i].trim()
2227
+ // https://www.rfc-editor.org/rfc/rfc9112.html#section-7.2
2228
+ if (coding === 'x-gzip' || coding === 'gzip') {
2229
+ decoders.push(zlib.createGunzip({
2230
+ // Be less strict when decoding compressed responses, since sometimes
2231
+ // servers send slightly invalid responses that are still accepted
2232
+ // by common browsers.
2233
+ // Always using Z_SYNC_FLUSH is what cURL does.
2234
+ flush: zlib.constants.Z_SYNC_FLUSH,
2235
+ finishFlush: zlib.constants.Z_SYNC_FLUSH
2236
+ }))
2237
+ } else if (coding === 'deflate') {
2238
+ decoders.push(createInflate({
2239
+ flush: zlib.constants.Z_SYNC_FLUSH,
2240
+ finishFlush: zlib.constants.Z_SYNC_FLUSH
2241
+ }))
2242
+ } else if (coding === 'br') {
2243
+ decoders.push(zlib.createBrotliDecompress({
2244
+ flush: zlib.constants.BROTLI_OPERATION_FLUSH,
2245
+ finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
2246
+ }))
2247
+ } else if (coding === 'zstd' && hasZstd) {
2248
+ decoders.push(zlib.createZstdDecompress({
2249
+ flush: zlib.constants.ZSTD_e_continue,
2250
+ finishFlush: zlib.constants.ZSTD_e_end
2251
+ }))
2252
+ } else {
2253
+ decoders.length = 0
2254
+ break
2255
+ }
2256
+ }
2257
+ }
2258
+
2259
+ const onError = this.onError.bind(this)
2260
+
2261
+ resolve({
2262
+ status,
2263
+ statusText,
2264
+ headersList,
2265
+ body: decoders.length
2266
+ ? pipeline(this.body, ...decoders, (err) => {
2267
+ if (err) {
2268
+ this.onError(err)
2269
+ }
2270
+ }).on('error', onError)
2271
+ : this.body.on('error', onError)
2272
+ })
2273
+
2274
+ return true
2275
+ },
2276
+
2277
+ onData (chunk) {
2278
+ if (fetchParams.controller.dump) {
2279
+ return
2280
+ }
2281
+
2282
+ // 1. If one or more bytes have been transmitted from response’s
2283
+ // message body, then:
2284
+
2285
+ // 1. Let bytes be the transmitted bytes.
2286
+ const bytes = chunk
2287
+
2288
+ // 2. Let codings be the result of extracting header list values
2289
+ // given `Content-Encoding` and response’s header list.
2290
+ // See pullAlgorithm.
2291
+
2292
+ // 3. Increase timingInfo’s encoded body size by bytes’s length.
2293
+ timingInfo.encodedBodySize += bytes.byteLength
2294
+
2295
+ // 4. See pullAlgorithm...
2296
+
2297
+ return this.body.push(bytes)
2298
+ },
2299
+
2300
+ onComplete () {
2301
+ if (this.abort) {
2302
+ fetchParams.controller.off('terminated', this.abort)
2303
+ }
2304
+
2305
+ fetchParams.controller.ended = true
2306
+
2307
+ this.body.push(null)
2308
+ },
2309
+
2310
+ onError (error) {
2311
+ if (this.abort) {
2312
+ fetchParams.controller.off('terminated', this.abort)
2313
+ }
2314
+
2315
+ this.body?.destroy(error)
2316
+
2317
+ fetchParams.controller.terminate(error)
2318
+
2319
+ reject(error)
2320
+ },
2321
+
2322
+ onRequestUpgrade (_controller, status, headers, socket) {
2323
+ // We need to support 200 for websocket over h2 as per RFC-8441
2324
+ // Absence of session means H1
2325
+ if ((socket.session != null && status !== 200) || (socket.session == null && status !== 101)) {
2326
+ return false
2327
+ }
2328
+
2329
+ const headersList = new HeadersList()
2330
+
2331
+ for (const [name, value] of Object.entries(headers)) {
2332
+ if (value == null) {
2333
+ continue
2334
+ }
2335
+
2336
+ const headerName = name.toLowerCase()
2337
+
2338
+ if (Array.isArray(value)) {
2339
+ for (const entry of value) {
2340
+ headersList.append(headerName, String(entry), true)
2341
+ }
2342
+ } else {
2343
+ headersList.append(headerName, String(value), true)
2344
+ }
2345
+ }
2346
+
2347
+ resolve({
2348
+ status,
2349
+ statusText: STATUS_CODES[status],
2350
+ headersList,
2351
+ socket
2352
+ })
2353
+
2354
+ return true
2355
+ },
2356
+
2357
+ onUpgrade (status, rawHeaders, socket) {
2358
+ // We need to support 200 for websocket over h2 as per RFC-8441
2359
+ // Absence of session means H1
2360
+ if ((socket.session != null && status !== 200) || (socket.session == null && status !== 101)) {
2361
+ return false
2362
+ }
2363
+
2364
+ const headersList = new HeadersList()
2365
+
2366
+ for (let i = 0; i < rawHeaders.length; i += 2) {
2367
+ const nameStr = bufferToLowerCasedHeaderName(rawHeaders[i])
2368
+ const value = rawHeaders[i + 1]
2369
+ if (Array.isArray(value) && !Buffer.isBuffer(rawHeaders[i + 1])) {
2370
+ for (const val of value) {
2371
+ headersList.append(nameStr, val.toString('latin1'), true)
2372
+ }
2373
+ } else {
2374
+ headersList.append(nameStr, value.toString('latin1'), true)
2375
+ }
2376
+ }
2377
+
2378
+ resolve({
2379
+ status,
2380
+ statusText: STATUS_CODES[status],
2381
+ headersList,
2382
+ socket
2383
+ })
2384
+
2385
+ return true
2386
+ }
2387
+ }
2388
+ ))
2389
+ }
2390
+ }
2391
+
2392
+ module.exports = {
2393
+ fetch,
2394
+ Fetch,
2395
+ fetching,
2396
+ finalizeAndReportTiming
2397
+ }