@dragon708/docmind-markdown 1.2.0 → 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 (2232) hide show
  1. package/dist/index.d.ts +65 -24
  2. package/dist/index.js +145 -69
  3. package/node_modules/@cognipeer/to-markdown/LICENSE +21 -0
  4. package/node_modules/@cognipeer/to-markdown/README.md +310 -0
  5. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.d.ts +15 -0
  6. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.d.ts.map +1 -0
  7. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.js +81 -0
  8. package/node_modules/@cognipeer/to-markdown/dist/converters/archive.js.map +1 -0
  9. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.d.ts +7 -0
  10. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.d.ts.map +1 -0
  11. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.js +21 -0
  12. package/node_modules/@cognipeer/to-markdown/dist/converters/docx.js.map +1 -0
  13. package/node_modules/@cognipeer/to-markdown/dist/converters/html.d.ts +13 -0
  14. package/node_modules/@cognipeer/to-markdown/dist/converters/html.d.ts.map +1 -0
  15. package/node_modules/@cognipeer/to-markdown/dist/converters/html.js +113 -0
  16. package/node_modules/@cognipeer/to-markdown/dist/converters/html.js.map +1 -0
  17. package/node_modules/@cognipeer/to-markdown/dist/converters/media.d.ts +15 -0
  18. package/node_modules/@cognipeer/to-markdown/dist/converters/media.d.ts.map +1 -0
  19. package/node_modules/@cognipeer/to-markdown/dist/converters/media.js +54 -0
  20. package/node_modules/@cognipeer/to-markdown/dist/converters/media.js.map +1 -0
  21. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.d.ts +7 -0
  22. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.d.ts.map +1 -0
  23. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.js +44 -0
  24. package/node_modules/@cognipeer/to-markdown/dist/converters/notebook.js.map +1 -0
  25. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.d.ts +7 -0
  26. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.d.ts.map +1 -0
  27. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.js +11 -0
  28. package/node_modules/@cognipeer/to-markdown/dist/converters/pdf.js.map +1 -0
  29. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.d.ts +13 -0
  30. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.d.ts.map +1 -0
  31. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.js +41 -0
  32. package/node_modules/@cognipeer/to-markdown/dist/converters/spreadsheet.js.map +1 -0
  33. package/node_modules/@cognipeer/to-markdown/dist/converters/text.d.ts +21 -0
  34. package/node_modules/@cognipeer/to-markdown/dist/converters/text.d.ts.map +1 -0
  35. package/node_modules/@cognipeer/to-markdown/dist/converters/text.js +54 -0
  36. package/node_modules/@cognipeer/to-markdown/dist/converters/text.js.map +1 -0
  37. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.d.ts +7 -0
  38. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.d.ts.map +1 -0
  39. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.js +72 -0
  40. package/node_modules/@cognipeer/to-markdown/dist/converters/xml.js.map +1 -0
  41. package/node_modules/@cognipeer/to-markdown/dist/index.cjs +1739 -0
  42. package/node_modules/@cognipeer/to-markdown/dist/index.cjs.map +1 -0
  43. package/node_modules/@cognipeer/to-markdown/dist/index.d.ts +46 -0
  44. package/node_modules/@cognipeer/to-markdown/dist/index.d.ts.map +1 -0
  45. package/node_modules/@cognipeer/to-markdown/dist/index.js +1733 -0
  46. package/node_modules/@cognipeer/to-markdown/dist/index.js.map +1 -0
  47. package/node_modules/@cognipeer/to-markdown/dist/types/index.d.ts +78 -0
  48. package/node_modules/@cognipeer/to-markdown/dist/types/index.d.ts.map +1 -0
  49. package/node_modules/@cognipeer/to-markdown/dist/types/index.js +27 -0
  50. package/node_modules/@cognipeer/to-markdown/dist/types/index.js.map +1 -0
  51. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.d.ts +12 -0
  52. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.d.ts.map +1 -0
  53. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.js +75 -0
  54. package/node_modules/@cognipeer/to-markdown/dist/utils/fileDetection.js.map +1 -0
  55. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.d.ts +13 -0
  56. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.d.ts.map +1 -0
  57. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.js +60 -0
  58. package/node_modules/@cognipeer/to-markdown/dist/utils/markdown.js.map +1 -0
  59. package/node_modules/@cognipeer/to-markdown/package.json +96 -0
  60. package/node_modules/@opendocsg/pdf2md/LICENSE +21 -0
  61. package/node_modules/@opendocsg/pdf2md/README.md +52 -0
  62. package/node_modules/@opendocsg/pdf2md/lib/models/Annotation.js +34 -0
  63. package/node_modules/@opendocsg/pdf2md/lib/models/HeadlineFinder.js +40 -0
  64. package/node_modules/@opendocsg/pdf2md/lib/models/LineConverter.js +156 -0
  65. package/node_modules/@opendocsg/pdf2md/lib/models/LineItem.js +29 -0
  66. package/node_modules/@opendocsg/pdf2md/lib/models/LineItemBlock.js +32 -0
  67. package/node_modules/@opendocsg/pdf2md/lib/models/Metadata.js +15 -0
  68. package/node_modules/@opendocsg/pdf2md/lib/models/Page.js +7 -0
  69. package/node_modules/@opendocsg/pdf2md/lib/models/PageItem.js +11 -0
  70. package/node_modules/@opendocsg/pdf2md/lib/models/ParseResult.js +8 -0
  71. package/node_modules/@opendocsg/pdf2md/lib/models/ParsedElements.js +15 -0
  72. package/node_modules/@opendocsg/pdf2md/lib/models/StashingStream.js +72 -0
  73. package/node_modules/@opendocsg/pdf2md/lib/models/TextItem.js +18 -0
  74. package/node_modules/@opendocsg/pdf2md/lib/models/TextItemLineGrouper.js +34 -0
  75. package/node_modules/@opendocsg/pdf2md/lib/models/Word.js +7 -0
  76. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/BlockType.js +176 -0
  77. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/WordFormat.js +23 -0
  78. package/node_modules/@opendocsg/pdf2md/lib/models/markdown/WordType.js +29 -0
  79. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToLineItemBlockTransformation.js +29 -0
  80. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToLineItemTransformation.js +29 -0
  81. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToMarkdown.js +42 -0
  82. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToTextBlocks.js +27 -0
  83. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/ToTextItemTransformation.js +29 -0
  84. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/Transformation.js +30 -0
  85. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/CompactLines.js +79 -0
  86. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectHeaders.js +134 -0
  87. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectListItems.js +62 -0
  88. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/DetectTOC.js +351 -0
  89. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/RemoveRepetitiveElements.js +97 -0
  90. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item/VerticalToHorizontal.js +75 -0
  91. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/DetectCodeQuoteBlocks.js +51 -0
  92. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/DetectListLevels.js +59 -0
  93. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/line-item-block/GatherBlocks.js +87 -0
  94. package/node_modules/@opendocsg/pdf2md/lib/models/transformations/text-item/CalculateGlobalStats.js +113 -0
  95. package/node_modules/@opendocsg/pdf2md/lib/pdf2md-cli.js +66 -0
  96. package/node_modules/@opendocsg/pdf2md/lib/pdf2md.js +43 -0
  97. package/node_modules/@opendocsg/pdf2md/lib/util/cli.js +43 -0
  98. package/node_modules/@opendocsg/pdf2md/lib/util/page-item-functions.js +34 -0
  99. package/node_modules/@opendocsg/pdf2md/lib/util/page-number-functions.js +116 -0
  100. package/node_modules/@opendocsg/pdf2md/lib/util/pdf.js +112 -0
  101. package/node_modules/@opendocsg/pdf2md/lib/util/string-functions.js +116 -0
  102. package/node_modules/@opendocsg/pdf2md/lib/util/transformations.js +46 -0
  103. package/node_modules/@opendocsg/pdf2md/package.json +60 -0
  104. package/node_modules/@opendocsg/pdf2md/test/convert.spec.js +15 -0
  105. package/node_modules/@opendocsg/pdf2md/test/models/HeadlineFinder.spec.js +92 -0
  106. package/node_modules/@opendocsg/pdf2md/test/models/StashingStream.spec.js +95 -0
  107. package/node_modules/@opendocsg/pdf2md/test/util/cli.spec.js +84 -0
  108. package/node_modules/@opendocsg/pdf2md/test/util/page-number-functions.spec.js +85 -0
  109. package/node_modules/@opendocsg/pdf2md/test/util/string-functions.spec.js +211 -0
  110. package/node_modules/@opendocsg/pdf2md/types/pdf2md.d.ts +49 -0
  111. package/node_modules/adler-32/LICENSE +201 -0
  112. package/node_modules/adler-32/README.md +140 -0
  113. package/node_modules/adler-32/adler32.js +92 -0
  114. package/node_modules/adler-32/package.json +35 -0
  115. package/node_modules/adler-32/types/index.d.ts +14 -0
  116. package/node_modules/adler-32/types/tsconfig.json +15 -0
  117. package/node_modules/adler-32/types/tslint.json +14 -0
  118. package/node_modules/adm-zip/LICENSE +21 -0
  119. package/node_modules/adm-zip/README.md +87 -0
  120. package/node_modules/adm-zip/adm-zip.js +949 -0
  121. package/node_modules/adm-zip/headers/entryHeader.js +377 -0
  122. package/node_modules/adm-zip/headers/index.js +2 -0
  123. package/node_modules/adm-zip/headers/mainHeader.js +130 -0
  124. package/node_modules/adm-zip/methods/deflater.js +33 -0
  125. package/node_modules/adm-zip/methods/index.js +3 -0
  126. package/node_modules/adm-zip/methods/inflater.js +34 -0
  127. package/node_modules/adm-zip/methods/zipcrypto.js +175 -0
  128. package/node_modules/adm-zip/package.json +54 -0
  129. package/node_modules/adm-zip/util/constants.js +142 -0
  130. package/node_modules/adm-zip/util/decoder.js +5 -0
  131. package/node_modules/adm-zip/util/errors.js +63 -0
  132. package/node_modules/adm-zip/util/fattr.js +76 -0
  133. package/node_modules/adm-zip/util/index.js +5 -0
  134. package/node_modules/adm-zip/util/utils.js +339 -0
  135. package/node_modules/adm-zip/zipEntry.js +405 -0
  136. package/node_modules/adm-zip/zipFile.js +446 -0
  137. package/node_modules/boolbase/README.md +10 -0
  138. package/node_modules/boolbase/index.js +8 -0
  139. package/node_modules/boolbase/package.json +23 -0
  140. package/node_modules/cfb/LICENSE +201 -0
  141. package/node_modules/cfb/README.md +161 -0
  142. package/node_modules/cfb/cfb.js +1979 -0
  143. package/node_modules/cfb/dist/LICENSE +201 -0
  144. package/node_modules/cfb/dist/cfb.js +1979 -0
  145. package/node_modules/cfb/dist/cfb.min.js +3 -0
  146. package/node_modules/cfb/dist/cfb.min.map +1 -0
  147. package/node_modules/cfb/dist/xlscfb.js +1856 -0
  148. package/node_modules/cfb/package.json +68 -0
  149. package/node_modules/cfb/types/index.d.ts +128 -0
  150. package/node_modules/cfb/types/tsconfig.json +15 -0
  151. package/node_modules/cfb/xlscfb.flow.js +1856 -0
  152. package/node_modules/cheerio/LICENSE +21 -0
  153. package/node_modules/cheerio/Readme.md +229 -0
  154. package/node_modules/cheerio/dist/browser/api/attributes.d.ts +385 -0
  155. package/node_modules/cheerio/dist/browser/api/attributes.d.ts.map +1 -0
  156. package/node_modules/cheerio/dist/browser/api/attributes.js +636 -0
  157. package/node_modules/cheerio/dist/browser/api/attributes.js.map +1 -0
  158. package/node_modules/cheerio/dist/browser/api/css.d.ts +42 -0
  159. package/node_modules/cheerio/dist/browser/api/css.d.ts.map +1 -0
  160. package/node_modules/cheerio/dist/browser/api/css.js +116 -0
  161. package/node_modules/cheerio/dist/browser/api/css.js.map +1 -0
  162. package/node_modules/cheerio/dist/browser/api/extract.d.ts +27 -0
  163. package/node_modules/cheerio/dist/browser/api/extract.d.ts.map +1 -0
  164. package/node_modules/cheerio/dist/browser/api/extract.js +42 -0
  165. package/node_modules/cheerio/dist/browser/api/extract.js.map +1 -0
  166. package/node_modules/cheerio/dist/browser/api/forms.d.ts +36 -0
  167. package/node_modules/cheerio/dist/browser/api/forms.d.ts.map +1 -0
  168. package/node_modules/cheerio/dist/browser/api/forms.js +81 -0
  169. package/node_modules/cheerio/dist/browser/api/forms.js.map +1 -0
  170. package/node_modules/cheerio/dist/browser/api/manipulation.d.ts +528 -0
  171. package/node_modules/cheerio/dist/browser/api/manipulation.d.ts.map +1 -0
  172. package/node_modules/cheerio/dist/browser/api/manipulation.js +831 -0
  173. package/node_modules/cheerio/dist/browser/api/manipulation.js.map +1 -0
  174. package/node_modules/cheerio/dist/browser/api/traversing.d.ts +657 -0
  175. package/node_modules/cheerio/dist/browser/api/traversing.d.ts.map +1 -0
  176. package/node_modules/cheerio/dist/browser/api/traversing.js +857 -0
  177. package/node_modules/cheerio/dist/browser/api/traversing.js.map +1 -0
  178. package/node_modules/cheerio/dist/browser/cheerio.d.ts +85 -0
  179. package/node_modules/cheerio/dist/browser/cheerio.d.ts.map +1 -0
  180. package/node_modules/cheerio/dist/browser/cheerio.js +58 -0
  181. package/node_modules/cheerio/dist/browser/cheerio.js.map +1 -0
  182. package/node_modules/cheerio/dist/browser/index-browser.d.mts.map +1 -0
  183. package/node_modules/cheerio/dist/browser/index-browser.mjs.map +1 -0
  184. package/node_modules/cheerio/dist/browser/index.d.ts +5 -0
  185. package/node_modules/cheerio/dist/browser/index.js +3 -0
  186. package/node_modules/cheerio/dist/browser/load-parse.d.ts +20 -0
  187. package/node_modules/cheerio/dist/browser/load-parse.d.ts.map +1 -0
  188. package/node_modules/cheerio/dist/browser/load-parse.js +28 -0
  189. package/node_modules/cheerio/dist/browser/load-parse.js.map +1 -0
  190. package/node_modules/cheerio/dist/browser/load.d.ts +91 -0
  191. package/node_modules/cheerio/dist/browser/load.d.ts.map +1 -0
  192. package/node_modules/cheerio/dist/browser/load.js +129 -0
  193. package/node_modules/cheerio/dist/browser/load.js.map +1 -0
  194. package/node_modules/cheerio/dist/browser/options.d.ts +98 -0
  195. package/node_modules/cheerio/dist/browser/options.d.ts.map +1 -0
  196. package/node_modules/cheerio/dist/browser/options.js +34 -0
  197. package/node_modules/cheerio/dist/browser/options.js.map +1 -0
  198. package/node_modules/cheerio/dist/browser/package.json +3 -0
  199. package/node_modules/cheerio/dist/browser/parse.d.ts +18 -0
  200. package/node_modules/cheerio/dist/browser/parse.d.ts.map +1 -0
  201. package/node_modules/cheerio/dist/browser/parse.js +73 -0
  202. package/node_modules/cheerio/dist/browser/parse.js.map +1 -0
  203. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts +20 -0
  204. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.d.ts.map +1 -0
  205. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js +50 -0
  206. package/node_modules/cheerio/dist/browser/parsers/parse5-adapter.js.map +1 -0
  207. package/node_modules/cheerio/dist/browser/slim.d.ts +25 -0
  208. package/node_modules/cheerio/dist/browser/slim.d.ts.map +1 -0
  209. package/node_modules/cheerio/dist/browser/slim.js +22 -0
  210. package/node_modules/cheerio/dist/browser/slim.js.map +1 -0
  211. package/node_modules/cheerio/dist/browser/static.d.ts +112 -0
  212. package/node_modules/cheerio/dist/browser/static.d.ts.map +1 -0
  213. package/node_modules/cheerio/dist/browser/static.js +204 -0
  214. package/node_modules/cheerio/dist/browser/static.js.map +1 -0
  215. package/node_modules/cheerio/dist/browser/types.d.ts +21 -0
  216. package/node_modules/cheerio/dist/browser/types.d.ts.map +1 -0
  217. package/node_modules/cheerio/dist/browser/types.js +3 -0
  218. package/node_modules/cheerio/dist/browser/types.js.map +1 -0
  219. package/node_modules/cheerio/dist/browser/utils.d.ts +55 -0
  220. package/node_modules/cheerio/dist/browser/utils.d.ts.map +1 -0
  221. package/node_modules/cheerio/dist/browser/utils.js +84 -0
  222. package/node_modules/cheerio/dist/browser/utils.js.map +1 -0
  223. package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts +385 -0
  224. package/node_modules/cheerio/dist/commonjs/api/attributes.d.ts.map +1 -0
  225. package/node_modules/cheerio/dist/commonjs/api/attributes.js +647 -0
  226. package/node_modules/cheerio/dist/commonjs/api/attributes.js.map +1 -0
  227. package/node_modules/cheerio/dist/commonjs/api/css.d.ts +42 -0
  228. package/node_modules/cheerio/dist/commonjs/api/css.d.ts.map +1 -0
  229. package/node_modules/cheerio/dist/commonjs/api/css.js +119 -0
  230. package/node_modules/cheerio/dist/commonjs/api/css.js.map +1 -0
  231. package/node_modules/cheerio/dist/commonjs/api/extract.d.ts +27 -0
  232. package/node_modules/cheerio/dist/commonjs/api/extract.d.ts.map +1 -0
  233. package/node_modules/cheerio/dist/commonjs/api/extract.js +45 -0
  234. package/node_modules/cheerio/dist/commonjs/api/extract.js.map +1 -0
  235. package/node_modules/cheerio/dist/commonjs/api/forms.d.ts +36 -0
  236. package/node_modules/cheerio/dist/commonjs/api/forms.d.ts.map +1 -0
  237. package/node_modules/cheerio/dist/commonjs/api/forms.js +85 -0
  238. package/node_modules/cheerio/dist/commonjs/api/forms.js.map +1 -0
  239. package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts +528 -0
  240. package/node_modules/cheerio/dist/commonjs/api/manipulation.d.ts.map +1 -0
  241. package/node_modules/cheerio/dist/commonjs/api/manipulation.js +850 -0
  242. package/node_modules/cheerio/dist/commonjs/api/manipulation.js.map +1 -0
  243. package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts +657 -0
  244. package/node_modules/cheerio/dist/commonjs/api/traversing.d.ts.map +1 -0
  245. package/node_modules/cheerio/dist/commonjs/api/traversing.js +914 -0
  246. package/node_modules/cheerio/dist/commonjs/api/traversing.js.map +1 -0
  247. package/node_modules/cheerio/dist/commonjs/cheerio.d.ts +85 -0
  248. package/node_modules/cheerio/dist/commonjs/cheerio.d.ts.map +1 -0
  249. package/node_modules/cheerio/dist/commonjs/cheerio.js +95 -0
  250. package/node_modules/cheerio/dist/commonjs/cheerio.js.map +1 -0
  251. package/node_modules/cheerio/dist/commonjs/index.d.ts +104 -0
  252. package/node_modules/cheerio/dist/commonjs/index.d.ts.map +1 -0
  253. package/node_modules/cheerio/dist/commonjs/index.js +250 -0
  254. package/node_modules/cheerio/dist/commonjs/index.js.map +1 -0
  255. package/node_modules/cheerio/dist/commonjs/load-parse.d.ts +20 -0
  256. package/node_modules/cheerio/dist/commonjs/load-parse.d.ts.map +1 -0
  257. package/node_modules/cheerio/dist/commonjs/load-parse.js +34 -0
  258. package/node_modules/cheerio/dist/commonjs/load-parse.js.map +1 -0
  259. package/node_modules/cheerio/dist/commonjs/load.d.ts +91 -0
  260. package/node_modules/cheerio/dist/commonjs/load.d.ts.map +1 -0
  261. package/node_modules/cheerio/dist/commonjs/load.js +165 -0
  262. package/node_modules/cheerio/dist/commonjs/load.js.map +1 -0
  263. package/node_modules/cheerio/dist/commonjs/options.d.ts +98 -0
  264. package/node_modules/cheerio/dist/commonjs/options.d.ts.map +1 -0
  265. package/node_modules/cheerio/dist/commonjs/options.js +37 -0
  266. package/node_modules/cheerio/dist/commonjs/options.js.map +1 -0
  267. package/node_modules/cheerio/dist/commonjs/package.json +3 -0
  268. package/node_modules/cheerio/dist/commonjs/parse.d.ts +18 -0
  269. package/node_modules/cheerio/dist/commonjs/parse.d.ts.map +1 -0
  270. package/node_modules/cheerio/dist/commonjs/parse.js +77 -0
  271. package/node_modules/cheerio/dist/commonjs/parse.js.map +1 -0
  272. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts +20 -0
  273. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.d.ts.map +1 -0
  274. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js +54 -0
  275. package/node_modules/cheerio/dist/commonjs/parsers/parse5-adapter.js.map +1 -0
  276. package/node_modules/cheerio/dist/commonjs/slim.d.ts +25 -0
  277. package/node_modules/cheerio/dist/commonjs/slim.d.ts.map +1 -0
  278. package/node_modules/cheerio/dist/commonjs/slim.js +30 -0
  279. package/node_modules/cheerio/dist/commonjs/slim.js.map +1 -0
  280. package/node_modules/cheerio/dist/commonjs/static.d.ts +112 -0
  281. package/node_modules/cheerio/dist/commonjs/static.d.ts.map +1 -0
  282. package/node_modules/cheerio/dist/commonjs/static.js +214 -0
  283. package/node_modules/cheerio/dist/commonjs/static.js.map +1 -0
  284. package/node_modules/cheerio/dist/commonjs/types.d.ts +21 -0
  285. package/node_modules/cheerio/dist/commonjs/types.d.ts.map +1 -0
  286. package/node_modules/cheerio/dist/commonjs/types.js +4 -0
  287. package/node_modules/cheerio/dist/commonjs/types.js.map +1 -0
  288. package/node_modules/cheerio/dist/commonjs/utils.d.ts +55 -0
  289. package/node_modules/cheerio/dist/commonjs/utils.d.ts.map +1 -0
  290. package/node_modules/cheerio/dist/commonjs/utils.js +91 -0
  291. package/node_modules/cheerio/dist/commonjs/utils.js.map +1 -0
  292. package/node_modules/cheerio/dist/esm/api/attributes.d.ts +385 -0
  293. package/node_modules/cheerio/dist/esm/api/attributes.d.ts.map +1 -0
  294. package/node_modules/cheerio/dist/esm/api/attributes.js +636 -0
  295. package/node_modules/cheerio/dist/esm/api/attributes.js.map +1 -0
  296. package/node_modules/cheerio/dist/esm/api/css.d.ts +42 -0
  297. package/node_modules/cheerio/dist/esm/api/css.d.ts.map +1 -0
  298. package/node_modules/cheerio/dist/esm/api/css.js +116 -0
  299. package/node_modules/cheerio/dist/esm/api/css.js.map +1 -0
  300. package/node_modules/cheerio/dist/esm/api/extract.d.ts +27 -0
  301. package/node_modules/cheerio/dist/esm/api/extract.d.ts.map +1 -0
  302. package/node_modules/cheerio/dist/esm/api/extract.js +42 -0
  303. package/node_modules/cheerio/dist/esm/api/extract.js.map +1 -0
  304. package/node_modules/cheerio/dist/esm/api/forms.d.ts +36 -0
  305. package/node_modules/cheerio/dist/esm/api/forms.d.ts.map +1 -0
  306. package/node_modules/cheerio/dist/esm/api/forms.js +81 -0
  307. package/node_modules/cheerio/dist/esm/api/forms.js.map +1 -0
  308. package/node_modules/cheerio/dist/esm/api/manipulation.d.ts +528 -0
  309. package/node_modules/cheerio/dist/esm/api/manipulation.d.ts.map +1 -0
  310. package/node_modules/cheerio/dist/esm/api/manipulation.js +831 -0
  311. package/node_modules/cheerio/dist/esm/api/manipulation.js.map +1 -0
  312. package/node_modules/cheerio/dist/esm/api/traversing.d.ts +657 -0
  313. package/node_modules/cheerio/dist/esm/api/traversing.d.ts.map +1 -0
  314. package/node_modules/cheerio/dist/esm/api/traversing.js +857 -0
  315. package/node_modules/cheerio/dist/esm/api/traversing.js.map +1 -0
  316. package/node_modules/cheerio/dist/esm/cheerio.d.ts +85 -0
  317. package/node_modules/cheerio/dist/esm/cheerio.d.ts.map +1 -0
  318. package/node_modules/cheerio/dist/esm/cheerio.js +58 -0
  319. package/node_modules/cheerio/dist/esm/cheerio.js.map +1 -0
  320. package/node_modules/cheerio/dist/esm/index.d.ts +104 -0
  321. package/node_modules/cheerio/dist/esm/index.d.ts.map +1 -0
  322. package/node_modules/cheerio/dist/esm/index.js +202 -0
  323. package/node_modules/cheerio/dist/esm/index.js.map +1 -0
  324. package/node_modules/cheerio/dist/esm/load-parse.d.ts +20 -0
  325. package/node_modules/cheerio/dist/esm/load-parse.d.ts.map +1 -0
  326. package/node_modules/cheerio/dist/esm/load-parse.js +28 -0
  327. package/node_modules/cheerio/dist/esm/load-parse.js.map +1 -0
  328. package/node_modules/cheerio/dist/esm/load.d.ts +91 -0
  329. package/node_modules/cheerio/dist/esm/load.d.ts.map +1 -0
  330. package/node_modules/cheerio/dist/esm/load.js +129 -0
  331. package/node_modules/cheerio/dist/esm/load.js.map +1 -0
  332. package/node_modules/cheerio/dist/esm/options.d.ts +98 -0
  333. package/node_modules/cheerio/dist/esm/options.d.ts.map +1 -0
  334. package/node_modules/cheerio/dist/esm/options.js +34 -0
  335. package/node_modules/cheerio/dist/esm/options.js.map +1 -0
  336. package/node_modules/cheerio/dist/esm/package.json +3 -0
  337. package/node_modules/cheerio/dist/esm/parse.d.ts +18 -0
  338. package/node_modules/cheerio/dist/esm/parse.d.ts.map +1 -0
  339. package/node_modules/cheerio/dist/esm/parse.js +73 -0
  340. package/node_modules/cheerio/dist/esm/parse.js.map +1 -0
  341. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts +20 -0
  342. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.d.ts.map +1 -0
  343. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js +50 -0
  344. package/node_modules/cheerio/dist/esm/parsers/parse5-adapter.js.map +1 -0
  345. package/node_modules/cheerio/dist/esm/slim.d.ts +25 -0
  346. package/node_modules/cheerio/dist/esm/slim.d.ts.map +1 -0
  347. package/node_modules/cheerio/dist/esm/slim.js +22 -0
  348. package/node_modules/cheerio/dist/esm/slim.js.map +1 -0
  349. package/node_modules/cheerio/dist/esm/static.d.ts +112 -0
  350. package/node_modules/cheerio/dist/esm/static.d.ts.map +1 -0
  351. package/node_modules/cheerio/dist/esm/static.js +204 -0
  352. package/node_modules/cheerio/dist/esm/static.js.map +1 -0
  353. package/node_modules/cheerio/dist/esm/types.d.ts +21 -0
  354. package/node_modules/cheerio/dist/esm/types.d.ts.map +1 -0
  355. package/node_modules/cheerio/dist/esm/types.js +3 -0
  356. package/node_modules/cheerio/dist/esm/types.js.map +1 -0
  357. package/node_modules/cheerio/dist/esm/utils.d.ts +55 -0
  358. package/node_modules/cheerio/dist/esm/utils.d.ts.map +1 -0
  359. package/node_modules/cheerio/dist/esm/utils.js +84 -0
  360. package/node_modules/cheerio/dist/esm/utils.js.map +1 -0
  361. package/node_modules/cheerio/package.json +182 -0
  362. package/node_modules/cheerio/src/api/attributes.ts +1145 -0
  363. package/node_modules/cheerio/src/api/css.ts +224 -0
  364. package/node_modules/cheerio/src/api/extract.ts +92 -0
  365. package/node_modules/cheerio/src/api/forms.ts +103 -0
  366. package/node_modules/cheerio/src/api/manipulation.ts +1115 -0
  367. package/node_modules/cheerio/src/api/traversing.ts +1175 -0
  368. package/node_modules/cheerio/src/cheerio.ts +143 -0
  369. package/node_modules/cheerio/src/index-browser.mts +10 -0
  370. package/node_modules/cheerio/src/index.ts +294 -0
  371. package/node_modules/cheerio/src/load-parse.ts +39 -0
  372. package/node_modules/cheerio/src/load.ts +282 -0
  373. package/node_modules/cheerio/src/options.ts +136 -0
  374. package/node_modules/cheerio/src/parse.ts +105 -0
  375. package/node_modules/cheerio/src/parsers/parse5-adapter.ts +66 -0
  376. package/node_modules/cheerio/src/slim.ts +33 -0
  377. package/node_modules/cheerio/src/static.ts +312 -0
  378. package/node_modules/cheerio/src/types.ts +58 -0
  379. package/node_modules/cheerio/src/utils.ts +99 -0
  380. package/node_modules/cheerio-select/LICENSE +11 -0
  381. package/node_modules/cheerio-select/README.md +18 -0
  382. package/node_modules/cheerio-select/lib/esm/helpers.d.ts +5 -0
  383. package/node_modules/cheerio-select/lib/esm/helpers.d.ts.map +1 -0
  384. package/node_modules/cheerio-select/lib/esm/helpers.js +20 -0
  385. package/node_modules/cheerio-select/lib/esm/helpers.js.map +1 -0
  386. package/node_modules/cheerio-select/lib/esm/index.d.ts +12 -0
  387. package/node_modules/cheerio-select/lib/esm/index.d.ts.map +1 -0
  388. package/node_modules/cheerio-select/lib/esm/index.js +241 -0
  389. package/node_modules/cheerio-select/lib/esm/index.js.map +1 -0
  390. package/node_modules/cheerio-select/lib/esm/package.json +1 -0
  391. package/node_modules/cheerio-select/lib/esm/positionals.d.ts +10 -0
  392. package/node_modules/cheerio-select/lib/esm/positionals.d.ts.map +1 -0
  393. package/node_modules/cheerio-select/lib/esm/positionals.js +47 -0
  394. package/node_modules/cheerio-select/lib/esm/positionals.js.map +1 -0
  395. package/node_modules/cheerio-select/lib/helpers.d.ts +5 -0
  396. package/node_modules/cheerio-select/lib/helpers.d.ts.map +1 -0
  397. package/node_modules/cheerio-select/lib/helpers.js +26 -0
  398. package/node_modules/cheerio-select/lib/helpers.js.map +1 -0
  399. package/node_modules/cheerio-select/lib/index.d.ts +12 -0
  400. package/node_modules/cheerio-select/lib/index.d.ts.map +1 -0
  401. package/node_modules/cheerio-select/lib/index.js +302 -0
  402. package/node_modules/cheerio-select/lib/index.js.map +1 -0
  403. package/node_modules/cheerio-select/lib/positionals.d.ts +10 -0
  404. package/node_modules/cheerio-select/lib/positionals.d.ts.map +1 -0
  405. package/node_modules/cheerio-select/lib/positionals.js +52 -0
  406. package/node_modules/cheerio-select/lib/positionals.js.map +1 -0
  407. package/node_modules/cheerio-select/package.json +76 -0
  408. package/node_modules/codepage/LICENSE +201 -0
  409. package/node_modules/codepage/README.md +350 -0
  410. package/node_modules/codepage/bits/10000.js +2 -0
  411. package/node_modules/codepage/bits/10001.js +115 -0
  412. package/node_modules/codepage/bits/10002.js +253 -0
  413. package/node_modules/codepage/bits/10003.js +183 -0
  414. package/node_modules/codepage/bits/10004.js +2 -0
  415. package/node_modules/codepage/bits/10005.js +2 -0
  416. package/node_modules/codepage/bits/10006.js +2 -0
  417. package/node_modules/codepage/bits/10007.js +2 -0
  418. package/node_modules/codepage/bits/10008.js +167 -0
  419. package/node_modules/codepage/bits/10010.js +2 -0
  420. package/node_modules/codepage/bits/10017.js +2 -0
  421. package/node_modules/codepage/bits/10021.js +2 -0
  422. package/node_modules/codepage/bits/10029.js +2 -0
  423. package/node_modules/codepage/bits/10079.js +2 -0
  424. package/node_modules/codepage/bits/10081.js +2 -0
  425. package/node_modules/codepage/bits/10082.js +2 -0
  426. package/node_modules/codepage/bits/1010.js +2 -0
  427. package/node_modules/codepage/bits/1026.js +2 -0
  428. package/node_modules/codepage/bits/1047.js +2 -0
  429. package/node_modules/codepage/bits/1132.js +2 -0
  430. package/node_modules/codepage/bits/1140.js +2 -0
  431. package/node_modules/codepage/bits/1141.js +2 -0
  432. package/node_modules/codepage/bits/1142.js +2 -0
  433. package/node_modules/codepage/bits/1143.js +2 -0
  434. package/node_modules/codepage/bits/1144.js +2 -0
  435. package/node_modules/codepage/bits/1145.js +2 -0
  436. package/node_modules/codepage/bits/1146.js +2 -0
  437. package/node_modules/codepage/bits/1147.js +2 -0
  438. package/node_modules/codepage/bits/1148.js +2 -0
  439. package/node_modules/codepage/bits/1149.js +2 -0
  440. package/node_modules/codepage/bits/1250.js +2 -0
  441. package/node_modules/codepage/bits/1251.js +2 -0
  442. package/node_modules/codepage/bits/1252.js +2 -0
  443. package/node_modules/codepage/bits/1253.js +2 -0
  444. package/node_modules/codepage/bits/1254.js +2 -0
  445. package/node_modules/codepage/bits/1255.js +2 -0
  446. package/node_modules/codepage/bits/1256.js +2 -0
  447. package/node_modules/codepage/bits/1257.js +2 -0
  448. package/node_modules/codepage/bits/1258.js +2 -0
  449. package/node_modules/codepage/bits/1361.js +231 -0
  450. package/node_modules/codepage/bits/20000.js +193 -0
  451. package/node_modules/codepage/bits/20001.js +217 -0
  452. package/node_modules/codepage/bits/20002.js +167 -0
  453. package/node_modules/codepage/bits/20003.js +213 -0
  454. package/node_modules/codepage/bits/20004.js +193 -0
  455. package/node_modules/codepage/bits/20005.js +223 -0
  456. package/node_modules/codepage/bits/20105.js +2 -0
  457. package/node_modules/codepage/bits/20106.js +2 -0
  458. package/node_modules/codepage/bits/20107.js +2 -0
  459. package/node_modules/codepage/bits/20108.js +2 -0
  460. package/node_modules/codepage/bits/20261.js +31 -0
  461. package/node_modules/codepage/bits/20269.js +2 -0
  462. package/node_modules/codepage/bits/20273.js +2 -0
  463. package/node_modules/codepage/bits/20277.js +2 -0
  464. package/node_modules/codepage/bits/20278.js +2 -0
  465. package/node_modules/codepage/bits/20280.js +2 -0
  466. package/node_modules/codepage/bits/20284.js +2 -0
  467. package/node_modules/codepage/bits/20285.js +2 -0
  468. package/node_modules/codepage/bits/20290.js +2 -0
  469. package/node_modules/codepage/bits/20297.js +2 -0
  470. package/node_modules/codepage/bits/20420.js +2 -0
  471. package/node_modules/codepage/bits/20423.js +2 -0
  472. package/node_modules/codepage/bits/20424.js +2 -0
  473. package/node_modules/codepage/bits/20833.js +2 -0
  474. package/node_modules/codepage/bits/20838.js +2 -0
  475. package/node_modules/codepage/bits/20866.js +2 -0
  476. package/node_modules/codepage/bits/20871.js +2 -0
  477. package/node_modules/codepage/bits/20880.js +2 -0
  478. package/node_modules/codepage/bits/20905.js +2 -0
  479. package/node_modules/codepage/bits/20924.js +2 -0
  480. package/node_modules/codepage/bits/20932.js +189 -0
  481. package/node_modules/codepage/bits/20936.js +167 -0
  482. package/node_modules/codepage/bits/20949.js +183 -0
  483. package/node_modules/codepage/bits/21025.js +2 -0
  484. package/node_modules/codepage/bits/21027.js +2 -0
  485. package/node_modules/codepage/bits/21866.js +2 -0
  486. package/node_modules/codepage/bits/28591.js +2 -0
  487. package/node_modules/codepage/bits/28592.js +2 -0
  488. package/node_modules/codepage/bits/28593.js +2 -0
  489. package/node_modules/codepage/bits/28594.js +2 -0
  490. package/node_modules/codepage/bits/28595.js +2 -0
  491. package/node_modules/codepage/bits/28596.js +2 -0
  492. package/node_modules/codepage/bits/28597.js +2 -0
  493. package/node_modules/codepage/bits/28598.js +2 -0
  494. package/node_modules/codepage/bits/28599.js +2 -0
  495. package/node_modules/codepage/bits/28600.js +2 -0
  496. package/node_modules/codepage/bits/28601.js +2 -0
  497. package/node_modules/codepage/bits/28603.js +2 -0
  498. package/node_modules/codepage/bits/28604.js +2 -0
  499. package/node_modules/codepage/bits/28605.js +2 -0
  500. package/node_modules/codepage/bits/28606.js +2 -0
  501. package/node_modules/codepage/bits/29001.js +2 -0
  502. package/node_modules/codepage/bits/37.js +2 -0
  503. package/node_modules/codepage/bits/38598.js +2 -0
  504. package/node_modules/codepage/bits/437.js +2 -0
  505. package/node_modules/codepage/bits/47451.js +2 -0
  506. package/node_modules/codepage/bits/500.js +2 -0
  507. package/node_modules/codepage/bits/50220.js +395 -0
  508. package/node_modules/codepage/bits/50221.js +395 -0
  509. package/node_modules/codepage/bits/50222.js +395 -0
  510. package/node_modules/codepage/bits/50225.js +259 -0
  511. package/node_modules/codepage/bits/50227.js +257 -0
  512. package/node_modules/codepage/bits/51932.js +171 -0
  513. package/node_modules/codepage/bits/51936.js +257 -0
  514. package/node_modules/codepage/bits/51949.js +183 -0
  515. package/node_modules/codepage/bits/52936.js +7 -0
  516. package/node_modules/codepage/bits/54936.js +257 -0
  517. package/node_modules/codepage/bits/57002.js +39 -0
  518. package/node_modules/codepage/bits/57003.js +23 -0
  519. package/node_modules/codepage/bits/57004.js +7 -0
  520. package/node_modules/codepage/bits/57005.js +15 -0
  521. package/node_modules/codepage/bits/57006.js +23 -0
  522. package/node_modules/codepage/bits/57007.js +21 -0
  523. package/node_modules/codepage/bits/57008.js +17 -0
  524. package/node_modules/codepage/bits/57009.js +13 -0
  525. package/node_modules/codepage/bits/57010.js +15 -0
  526. package/node_modules/codepage/bits/57011.js +17 -0
  527. package/node_modules/codepage/bits/620.js +2 -0
  528. package/node_modules/codepage/bits/708.js +2 -0
  529. package/node_modules/codepage/bits/720.js +2 -0
  530. package/node_modules/codepage/bits/737.js +2 -0
  531. package/node_modules/codepage/bits/775.js +2 -0
  532. package/node_modules/codepage/bits/808.js +2 -0
  533. package/node_modules/codepage/bits/850.js +2 -0
  534. package/node_modules/codepage/bits/852.js +2 -0
  535. package/node_modules/codepage/bits/855.js +2 -0
  536. package/node_modules/codepage/bits/857.js +2 -0
  537. package/node_modules/codepage/bits/858.js +2 -0
  538. package/node_modules/codepage/bits/860.js +2 -0
  539. package/node_modules/codepage/bits/861.js +2 -0
  540. package/node_modules/codepage/bits/862.js +2 -0
  541. package/node_modules/codepage/bits/863.js +2 -0
  542. package/node_modules/codepage/bits/864.js +2 -0
  543. package/node_modules/codepage/bits/865.js +2 -0
  544. package/node_modules/codepage/bits/866.js +2 -0
  545. package/node_modules/codepage/bits/869.js +2 -0
  546. package/node_modules/codepage/bits/870.js +2 -0
  547. package/node_modules/codepage/bits/872.js +2 -0
  548. package/node_modules/codepage/bits/874.js +2 -0
  549. package/node_modules/codepage/bits/875.js +2 -0
  550. package/node_modules/codepage/bits/895.js +2 -0
  551. package/node_modules/codepage/bits/932.js +95 -0
  552. package/node_modules/codepage/bits/936.js +257 -0
  553. package/node_modules/codepage/bits/949.js +253 -0
  554. package/node_modules/codepage/bits/950.js +179 -0
  555. package/node_modules/codepage/cptable.js +4651 -0
  556. package/node_modules/codepage/cputils.js +528 -0
  557. package/node_modules/codepage/dist/cpexcel.full.js +1506 -0
  558. package/node_modules/codepage/dist/sbcs.full.js +639 -0
  559. package/node_modules/codepage/package.json +72 -0
  560. package/node_modules/codepage/types/index.d.ts +39 -0
  561. package/node_modules/codepage/types/tsconfig.json +15 -0
  562. package/node_modules/codepage/types/tslint.json +11 -0
  563. package/node_modules/crc-32/LICENSE +201 -0
  564. package/node_modules/crc-32/README.md +200 -0
  565. package/node_modules/crc-32/bin/crc32.njs +105 -0
  566. package/node_modules/crc-32/crc32.js +115 -0
  567. package/node_modules/crc-32/crc32c.js +115 -0
  568. package/node_modules/crc-32/package.json +43 -0
  569. package/node_modules/crc-32/types/index.d.ts +14 -0
  570. package/node_modules/crc-32/types/tsconfig.json +14 -0
  571. package/node_modules/crc-32/types/tslint.json +11 -0
  572. package/node_modules/css-select/LICENSE +11 -0
  573. package/node_modules/css-select/README.md +264 -0
  574. package/node_modules/css-select/lib/attributes.d.ts +7 -0
  575. package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
  576. package/node_modules/css-select/lib/attributes.js +236 -0
  577. package/node_modules/css-select/lib/attributes.js.map +1 -0
  578. package/node_modules/css-select/lib/compile.d.ts +13 -0
  579. package/node_modules/css-select/lib/compile.d.ts.map +1 -0
  580. package/node_modules/css-select/lib/compile.js +151 -0
  581. package/node_modules/css-select/lib/compile.js.map +1 -0
  582. package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
  583. package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
  584. package/node_modules/css-select/lib/esm/attributes.js +222 -0
  585. package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
  586. package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
  587. package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
  588. package/node_modules/css-select/lib/esm/compile.js +115 -0
  589. package/node_modules/css-select/lib/esm/compile.js.map +1 -0
  590. package/node_modules/css-select/lib/esm/general.d.ts +3 -0
  591. package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
  592. package/node_modules/css-select/lib/esm/general.js +144 -0
  593. package/node_modules/css-select/lib/esm/general.js.map +1 -0
  594. package/node_modules/css-select/lib/esm/helpers/cache.d.ts +12 -0
  595. package/node_modules/css-select/lib/esm/helpers/cache.d.ts.map +1 -0
  596. package/node_modules/css-select/lib/esm/helpers/cache.js +41 -0
  597. package/node_modules/css-select/lib/esm/helpers/cache.js.map +1 -0
  598. package/node_modules/css-select/lib/esm/helpers/querying.d.ts +24 -0
  599. package/node_modules/css-select/lib/esm/helpers/querying.d.ts.map +1 -0
  600. package/node_modules/css-select/lib/esm/helpers/querying.js +105 -0
  601. package/node_modules/css-select/lib/esm/helpers/querying.js.map +1 -0
  602. package/node_modules/css-select/lib/esm/helpers/selectors.d.ts +20 -0
  603. package/node_modules/css-select/lib/esm/helpers/selectors.d.ts.map +1 -0
  604. package/node_modules/css-select/lib/esm/helpers/selectors.js +103 -0
  605. package/node_modules/css-select/lib/esm/helpers/selectors.js.map +1 -0
  606. package/node_modules/css-select/lib/esm/index.d.ts +50 -0
  607. package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
  608. package/node_modules/css-select/lib/esm/index.js +115 -0
  609. package/node_modules/css-select/lib/esm/index.js.map +1 -0
  610. package/node_modules/css-select/lib/esm/package.json +1 -0
  611. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
  612. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
  613. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
  614. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
  615. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
  616. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
  617. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
  618. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
  619. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
  620. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
  621. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
  622. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
  623. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
  624. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
  625. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
  626. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
  627. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
  628. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
  629. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
  630. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
  631. package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
  632. package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
  633. package/node_modules/css-select/lib/esm/sort.js +79 -0
  634. package/node_modules/css-select/lib/esm/sort.js.map +1 -0
  635. package/node_modules/css-select/lib/esm/types.d.ts +167 -0
  636. package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
  637. package/node_modules/css-select/lib/esm/types.js +2 -0
  638. package/node_modules/css-select/lib/esm/types.js.map +1 -0
  639. package/node_modules/css-select/lib/general.d.ts +3 -0
  640. package/node_modules/css-select/lib/general.d.ts.map +1 -0
  641. package/node_modules/css-select/lib/general.js +148 -0
  642. package/node_modules/css-select/lib/general.js.map +1 -0
  643. package/node_modules/css-select/lib/helpers/cache.d.ts +12 -0
  644. package/node_modules/css-select/lib/helpers/cache.d.ts.map +1 -0
  645. package/node_modules/css-select/lib/helpers/cache.js +45 -0
  646. package/node_modules/css-select/lib/helpers/cache.js.map +1 -0
  647. package/node_modules/css-select/lib/helpers/querying.d.ts +24 -0
  648. package/node_modules/css-select/lib/helpers/querying.d.ts.map +1 -0
  649. package/node_modules/css-select/lib/helpers/querying.js +111 -0
  650. package/node_modules/css-select/lib/helpers/querying.js.map +1 -0
  651. package/node_modules/css-select/lib/helpers/selectors.d.ts +20 -0
  652. package/node_modules/css-select/lib/helpers/selectors.d.ts.map +1 -0
  653. package/node_modules/css-select/lib/helpers/selectors.js +111 -0
  654. package/node_modules/css-select/lib/helpers/selectors.js.map +1 -0
  655. package/node_modules/css-select/lib/index.d.ts +50 -0
  656. package/node_modules/css-select/lib/index.d.ts.map +1 -0
  657. package/node_modules/css-select/lib/index.js +154 -0
  658. package/node_modules/css-select/lib/index.js.map +1 -0
  659. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
  660. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
  661. package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
  662. package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
  663. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
  664. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
  665. package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
  666. package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
  667. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
  668. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
  669. package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
  670. package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
  671. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
  672. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
  673. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
  674. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
  675. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
  676. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
  677. package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
  678. package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
  679. package/node_modules/css-select/lib/sort.d.ts +12 -0
  680. package/node_modules/css-select/lib/sort.d.ts.map +1 -0
  681. package/node_modules/css-select/lib/sort.js +84 -0
  682. package/node_modules/css-select/lib/sort.js.map +1 -0
  683. package/node_modules/css-select/lib/types.d.ts +167 -0
  684. package/node_modules/css-select/lib/types.d.ts.map +1 -0
  685. package/node_modules/css-select/lib/types.js +3 -0
  686. package/node_modules/css-select/lib/types.js.map +1 -0
  687. package/node_modules/css-select/package.json +81 -0
  688. package/node_modules/css-what/LICENSE +11 -0
  689. package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
  690. package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
  691. package/node_modules/css-what/lib/commonjs/index.js +23 -0
  692. package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
  693. package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
  694. package/node_modules/css-what/lib/commonjs/parse.js +425 -0
  695. package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
  696. package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
  697. package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
  698. package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
  699. package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
  700. package/node_modules/css-what/lib/commonjs/types.js +42 -0
  701. package/node_modules/css-what/lib/es/index.d.ts +4 -0
  702. package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
  703. package/node_modules/css-what/lib/es/index.js +3 -0
  704. package/node_modules/css-what/lib/es/parse.d.ts +20 -0
  705. package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
  706. package/node_modules/css-what/lib/es/parse.js +420 -0
  707. package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
  708. package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
  709. package/node_modules/css-what/lib/es/stringify.js +126 -0
  710. package/node_modules/css-what/lib/es/types.d.ts +70 -0
  711. package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
  712. package/node_modules/css-what/lib/es/types.js +39 -0
  713. package/node_modules/css-what/package.json +59 -0
  714. package/node_modules/css-what/readme.md +69 -0
  715. package/node_modules/dom-serializer/LICENSE +11 -0
  716. package/node_modules/dom-serializer/README.md +109 -0
  717. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
  718. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
  719. package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
  720. package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
  721. package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
  722. package/node_modules/dom-serializer/lib/esm/index.js +190 -0
  723. package/node_modules/dom-serializer/lib/esm/package.json +1 -0
  724. package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
  725. package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
  726. package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
  727. package/node_modules/dom-serializer/lib/index.d.ts +52 -0
  728. package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
  729. package/node_modules/dom-serializer/lib/index.js +229 -0
  730. package/node_modules/dom-serializer/package.json +69 -0
  731. package/node_modules/domelementtype/LICENSE +11 -0
  732. package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
  733. package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
  734. package/node_modules/domelementtype/lib/esm/index.js +51 -0
  735. package/node_modules/domelementtype/lib/esm/package.json +1 -0
  736. package/node_modules/domelementtype/lib/index.d.ts +48 -0
  737. package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
  738. package/node_modules/domelementtype/lib/index.js +55 -0
  739. package/node_modules/domelementtype/package.json +54 -0
  740. package/node_modules/domelementtype/readme.md +1 -0
  741. package/node_modules/domhandler/LICENSE +11 -0
  742. package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
  743. package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
  744. package/node_modules/domhandler/lib/esm/index.js +146 -0
  745. package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
  746. package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
  747. package/node_modules/domhandler/lib/esm/node.js +338 -0
  748. package/node_modules/domhandler/lib/esm/package.json +1 -0
  749. package/node_modules/domhandler/lib/index.d.ts +76 -0
  750. package/node_modules/domhandler/lib/index.d.ts.map +1 -0
  751. package/node_modules/domhandler/lib/index.js +165 -0
  752. package/node_modules/domhandler/lib/node.d.ts +245 -0
  753. package/node_modules/domhandler/lib/node.d.ts.map +1 -0
  754. package/node_modules/domhandler/lib/node.js +474 -0
  755. package/node_modules/domhandler/package.json +73 -0
  756. package/node_modules/domhandler/readme.md +92 -0
  757. package/node_modules/domutils/LICENSE +11 -0
  758. package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
  759. package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
  760. package/node_modules/domutils/lib/esm/feeds.js +183 -0
  761. package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
  762. package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
  763. package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
  764. package/node_modules/domutils/lib/esm/helpers.js +136 -0
  765. package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
  766. package/node_modules/domutils/lib/esm/index.d.ts +10 -0
  767. package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
  768. package/node_modules/domutils/lib/esm/index.js +10 -0
  769. package/node_modules/domutils/lib/esm/index.js.map +1 -0
  770. package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
  771. package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
  772. package/node_modules/domutils/lib/esm/legacy.js +152 -0
  773. package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
  774. package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
  775. package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
  776. package/node_modules/domutils/lib/esm/manipulation.js +134 -0
  777. package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
  778. package/node_modules/domutils/lib/esm/package.json +1 -0
  779. package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
  780. package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
  781. package/node_modules/domutils/lib/esm/querying.js +142 -0
  782. package/node_modules/domutils/lib/esm/querying.js.map +1 -0
  783. package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
  784. package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
  785. package/node_modules/domutils/lib/esm/stringify.js +81 -0
  786. package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
  787. package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
  788. package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
  789. package/node_modules/domutils/lib/esm/traversal.js +112 -0
  790. package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
  791. package/node_modules/domutils/lib/feeds.d.ts +71 -0
  792. package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
  793. package/node_modules/domutils/lib/feeds.js +190 -0
  794. package/node_modules/domutils/lib/feeds.js.map +1 -0
  795. package/node_modules/domutils/lib/helpers.d.ts +59 -0
  796. package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
  797. package/node_modules/domutils/lib/helpers.js +142 -0
  798. package/node_modules/domutils/lib/helpers.js.map +1 -0
  799. package/node_modules/domutils/lib/index.d.ts +10 -0
  800. package/node_modules/domutils/lib/index.d.ts.map +1 -0
  801. package/node_modules/domutils/lib/index.js +33 -0
  802. package/node_modules/domutils/lib/index.js.map +1 -0
  803. package/node_modules/domutils/lib/legacy.d.ts +79 -0
  804. package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
  805. package/node_modules/domutils/lib/legacy.js +168 -0
  806. package/node_modules/domutils/lib/legacy.js.map +1 -0
  807. package/node_modules/domutils/lib/manipulation.d.ts +49 -0
  808. package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
  809. package/node_modules/domutils/lib/manipulation.js +142 -0
  810. package/node_modules/domutils/lib/manipulation.js.map +1 -0
  811. package/node_modules/domutils/lib/querying.d.ts +64 -0
  812. package/node_modules/domutils/lib/querying.d.ts.map +1 -0
  813. package/node_modules/domutils/lib/querying.js +155 -0
  814. package/node_modules/domutils/lib/querying.js.map +1 -0
  815. package/node_modules/domutils/lib/stringify.d.ts +46 -0
  816. package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
  817. package/node_modules/domutils/lib/stringify.js +91 -0
  818. package/node_modules/domutils/lib/stringify.js.map +1 -0
  819. package/node_modules/domutils/lib/traversal.d.ts +67 -0
  820. package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
  821. package/node_modules/domutils/lib/traversal.js +125 -0
  822. package/node_modules/domutils/lib/traversal.js.map +1 -0
  823. package/node_modules/domutils/package.json +79 -0
  824. package/node_modules/domutils/readme.md +31 -0
  825. package/node_modules/encoding-sniffer/LICENSE +18 -0
  826. package/node_modules/encoding-sniffer/README.md +68 -0
  827. package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts +31 -0
  828. package/node_modules/encoding-sniffer/dist/commonjs/index.d.ts.map +1 -0
  829. package/node_modules/encoding-sniffer/dist/commonjs/index.js +72 -0
  830. package/node_modules/encoding-sniffer/dist/commonjs/index.js.map +1 -0
  831. package/node_modules/encoding-sniffer/dist/commonjs/package.json +3 -0
  832. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts +148 -0
  833. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts.map +1 -0
  834. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js +990 -0
  835. package/node_modules/encoding-sniffer/dist/commonjs/sniffer.js.map +1 -0
  836. package/node_modules/encoding-sniffer/dist/esm/index.d.ts +31 -0
  837. package/node_modules/encoding-sniffer/dist/esm/index.d.ts.map +1 -0
  838. package/node_modules/encoding-sniffer/dist/esm/index.js +63 -0
  839. package/node_modules/encoding-sniffer/dist/esm/index.js.map +1 -0
  840. package/node_modules/encoding-sniffer/dist/esm/package.json +3 -0
  841. package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts +148 -0
  842. package/node_modules/encoding-sniffer/dist/esm/sniffer.d.ts.map +1 -0
  843. package/node_modules/encoding-sniffer/dist/esm/sniffer.js +985 -0
  844. package/node_modules/encoding-sniffer/dist/esm/sniffer.js.map +1 -0
  845. package/node_modules/encoding-sniffer/package.json +94 -0
  846. package/node_modules/encoding-sniffer/sniffer.d.ts +2 -0
  847. package/node_modules/encoding-sniffer/sniffer.js +3 -0
  848. package/node_modules/entities/LICENSE +11 -0
  849. package/node_modules/entities/lib/decode.d.ts +211 -0
  850. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  851. package/node_modules/entities/lib/decode.js +536 -0
  852. package/node_modules/entities/lib/decode.js.map +1 -0
  853. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  854. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  855. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  856. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  857. package/node_modules/entities/lib/encode.d.ts +22 -0
  858. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  859. package/node_modules/entities/lib/encode.js +77 -0
  860. package/node_modules/entities/lib/encode.js.map +1 -0
  861. package/node_modules/entities/lib/escape.d.ts +43 -0
  862. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  863. package/node_modules/entities/lib/escape.js +122 -0
  864. package/node_modules/entities/lib/escape.js.map +1 -0
  865. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  866. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  867. package/node_modules/entities/lib/esm/decode.js +496 -0
  868. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  869. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  870. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  871. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  872. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  873. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  874. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  875. package/node_modules/entities/lib/esm/encode.js +69 -0
  876. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  877. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  878. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  879. package/node_modules/entities/lib/esm/escape.js +116 -0
  880. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  881. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  882. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  883. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  884. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  885. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  886. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  887. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  888. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  889. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  890. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  891. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  892. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  893. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  894. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  895. package/node_modules/entities/lib/esm/index.js +99 -0
  896. package/node_modules/entities/lib/esm/index.js.map +1 -0
  897. package/node_modules/entities/lib/esm/package.json +1 -0
  898. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  899. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  900. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  901. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  902. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  903. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  904. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  905. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  906. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  907. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  908. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  909. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  910. package/node_modules/entities/lib/index.d.ts +96 -0
  911. package/node_modules/entities/lib/index.d.ts.map +1 -0
  912. package/node_modules/entities/lib/index.js +126 -0
  913. package/node_modules/entities/lib/index.js.map +1 -0
  914. package/node_modules/entities/package.json +90 -0
  915. package/node_modules/entities/readme.md +122 -0
  916. package/node_modules/enumify/.npmignore +2 -0
  917. package/node_modules/enumify/README.md +93 -0
  918. package/node_modules/enumify/lib/enumify.js +209 -0
  919. package/node_modules/enumify/package.json +31 -0
  920. package/node_modules/file-type/browser.d.ts +50 -0
  921. package/node_modules/file-type/browser.js +49 -0
  922. package/node_modules/file-type/core.d.ts +386 -0
  923. package/node_modules/file-type/core.js +1465 -0
  924. package/node_modules/file-type/index.d.ts +27 -0
  925. package/node_modules/file-type/index.js +32 -0
  926. package/node_modules/file-type/license +9 -0
  927. package/node_modules/file-type/package.json +215 -0
  928. package/node_modules/file-type/readme.md +470 -0
  929. package/node_modules/file-type/supported.js +279 -0
  930. package/node_modules/file-type/util.js +40 -0
  931. package/node_modules/htmlparser2/LICENSE +18 -0
  932. package/node_modules/htmlparser2/README.md +171 -0
  933. package/node_modules/htmlparser2/WritableStream.js +3 -0
  934. package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts +198 -0
  935. package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts.map +1 -0
  936. package/node_modules/htmlparser2/dist/commonjs/Parser.js +527 -0
  937. package/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -0
  938. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts +126 -0
  939. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts.map +1 -0
  940. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +805 -0
  941. package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -0
  942. package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts +15 -0
  943. package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts.map +1 -0
  944. package/node_modules/htmlparser2/dist/commonjs/WritableStream.js +36 -0
  945. package/node_modules/htmlparser2/dist/commonjs/WritableStream.js.map +1 -0
  946. package/node_modules/htmlparser2/dist/commonjs/index.d.ts +54 -0
  947. package/node_modules/htmlparser2/dist/commonjs/index.d.ts.map +1 -0
  948. package/node_modules/htmlparser2/dist/commonjs/index.js +123 -0
  949. package/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -0
  950. package/node_modules/htmlparser2/dist/commonjs/package.json +3 -0
  951. package/node_modules/htmlparser2/dist/esm/Parser.d.ts +198 -0
  952. package/node_modules/htmlparser2/dist/esm/Parser.d.ts.map +1 -0
  953. package/node_modules/htmlparser2/dist/esm/Parser.js +490 -0
  954. package/node_modules/htmlparser2/dist/esm/Parser.js.map +1 -0
  955. package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts +126 -0
  956. package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts.map +1 -0
  957. package/node_modules/htmlparser2/dist/esm/Tokenizer.js +801 -0
  958. package/node_modules/htmlparser2/dist/esm/Tokenizer.js.map +1 -0
  959. package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts +15 -0
  960. package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts.map +1 -0
  961. package/node_modules/htmlparser2/dist/esm/WritableStream.js +32 -0
  962. package/node_modules/htmlparser2/dist/esm/WritableStream.js.map +1 -0
  963. package/node_modules/htmlparser2/dist/esm/index.d.ts +54 -0
  964. package/node_modules/htmlparser2/dist/esm/index.d.ts.map +1 -0
  965. package/node_modules/htmlparser2/dist/esm/index.js +74 -0
  966. package/node_modules/htmlparser2/dist/esm/index.js.map +1 -0
  967. package/node_modules/htmlparser2/dist/esm/package.json +3 -0
  968. package/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
  969. package/node_modules/htmlparser2/node_modules/entities/decode.d.ts +3 -0
  970. package/node_modules/htmlparser2/node_modules/entities/decode.js +3 -0
  971. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  972. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  973. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  974. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  975. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts +205 -0
  976. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  977. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +568 -0
  978. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  979. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  980. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  981. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js +92 -0
  982. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  983. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts +46 -0
  984. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  985. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js +138 -0
  986. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  987. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  988. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  989. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  990. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  991. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  992. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  993. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  994. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  995. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +3 -0
  996. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  997. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js +14 -0
  998. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  999. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  1000. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  1001. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js +131 -0
  1002. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js.map +1 -0
  1003. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts +17 -0
  1004. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts.map +1 -0
  1005. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  1006. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js.map +1 -0
  1007. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts +2 -0
  1008. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts.map +1 -0
  1009. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  1010. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js.map +1 -0
  1011. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts +32 -0
  1012. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts.map +1 -0
  1013. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js +94 -0
  1014. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js.map +1 -0
  1015. package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/package.json +3 -0
  1016. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  1017. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  1018. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  1019. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  1020. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts +205 -0
  1021. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  1022. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js +554 -0
  1023. package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js.map +1 -0
  1024. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts +22 -0
  1025. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  1026. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js +88 -0
  1027. package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js.map +1 -0
  1028. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts +46 -0
  1029. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  1030. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js +134 -0
  1031. package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js.map +1 -0
  1032. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  1033. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  1034. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js +4 -0
  1035. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  1036. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  1037. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  1038. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js +4 -0
  1039. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  1040. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts +3 -0
  1041. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  1042. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js +11 -0
  1043. package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  1044. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts +96 -0
  1045. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  1046. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js +107 -0
  1047. package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js.map +1 -0
  1048. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts +17 -0
  1049. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts.map +1 -0
  1050. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js +18 -0
  1051. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js.map +1 -0
  1052. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts +2 -0
  1053. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts.map +1 -0
  1054. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js +28 -0
  1055. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js.map +1 -0
  1056. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts +32 -0
  1057. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts.map +1 -0
  1058. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js +91 -0
  1059. package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js.map +1 -0
  1060. package/node_modules/htmlparser2/node_modules/entities/dist/esm/package.json +3 -0
  1061. package/node_modules/htmlparser2/node_modules/entities/escape.d.ts +3 -0
  1062. package/node_modules/htmlparser2/node_modules/entities/escape.js +3 -0
  1063. package/node_modules/htmlparser2/node_modules/entities/package.json +120 -0
  1064. package/node_modules/htmlparser2/node_modules/entities/readme.md +143 -0
  1065. package/node_modules/htmlparser2/node_modules/entities/src/decode-codepoint.ts +81 -0
  1066. package/node_modules/htmlparser2/node_modules/entities/src/decode.ts +685 -0
  1067. package/node_modules/htmlparser2/node_modules/entities/src/encode.ts +93 -0
  1068. package/node_modules/htmlparser2/node_modules/entities/src/escape.ts +161 -0
  1069. package/node_modules/htmlparser2/node_modules/entities/src/generated/.eslintrc.json +10 -0
  1070. package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-html.ts +6 -0
  1071. package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-xml.ts +6 -0
  1072. package/node_modules/htmlparser2/node_modules/entities/src/generated/encode-html.ts +17 -0
  1073. package/node_modules/htmlparser2/node_modules/entities/src/index.ts +187 -0
  1074. package/node_modules/htmlparser2/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  1075. package/node_modules/htmlparser2/node_modules/entities/src/internal/decode-shared.ts +30 -0
  1076. package/node_modules/htmlparser2/node_modules/entities/src/internal/encode-shared.ts +121 -0
  1077. package/node_modules/htmlparser2/package.json +113 -0
  1078. package/node_modules/htmlparser2/src/Parser.ts +663 -0
  1079. package/node_modules/htmlparser2/src/Tokenizer.ts +877 -0
  1080. package/node_modules/htmlparser2/src/WritableStream.ts +43 -0
  1081. package/node_modules/htmlparser2/src/index.ts +115 -0
  1082. package/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  1083. package/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
  1084. package/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
  1085. package/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
  1086. package/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
  1087. package/node_modules/iconv-lite/.idea/modules.xml +8 -0
  1088. package/node_modules/iconv-lite/.idea/vcs.xml +6 -0
  1089. package/node_modules/iconv-lite/Changelog.md +212 -0
  1090. package/node_modules/iconv-lite/LICENSE +21 -0
  1091. package/node_modules/iconv-lite/README.md +130 -0
  1092. package/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  1093. package/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  1094. package/node_modules/iconv-lite/encodings/index.js +23 -0
  1095. package/node_modules/iconv-lite/encodings/internal.js +198 -0
  1096. package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  1097. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1098. package/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  1099. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1100. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1101. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1102. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1103. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1104. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1105. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  1106. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1107. package/node_modules/iconv-lite/encodings/utf16.js +197 -0
  1108. package/node_modules/iconv-lite/encodings/utf32.js +319 -0
  1109. package/node_modules/iconv-lite/encodings/utf7.js +290 -0
  1110. package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  1111. package/node_modules/iconv-lite/lib/index.d.ts +41 -0
  1112. package/node_modules/iconv-lite/lib/index.js +180 -0
  1113. package/node_modules/iconv-lite/lib/streams.js +109 -0
  1114. package/node_modules/iconv-lite/package.json +44 -0
  1115. package/node_modules/image-size/LICENSE +9 -0
  1116. package/node_modules/image-size/Readme.md +198 -0
  1117. package/node_modules/image-size/bin/image-size.js +48 -0
  1118. package/node_modules/image-size/dist/detector.cjs +964 -0
  1119. package/node_modules/image-size/dist/detector.d.mts +6 -0
  1120. package/node_modules/image-size/dist/detector.d.ts +6 -0
  1121. package/node_modules/image-size/dist/detector.mjs +962 -0
  1122. package/node_modules/image-size/dist/fromFile.cjs +1056 -0
  1123. package/node_modules/image-size/dist/fromFile.d.mts +9 -0
  1124. package/node_modules/image-size/dist/fromFile.d.ts +9 -0
  1125. package/node_modules/image-size/dist/fromFile.mjs +1032 -0
  1126. package/node_modules/image-size/dist/index.cjs +998 -0
  1127. package/node_modules/image-size/dist/index.d.mts +3 -0
  1128. package/node_modules/image-size/dist/index.d.ts +3 -0
  1129. package/node_modules/image-size/dist/index.mjs +991 -0
  1130. package/node_modules/image-size/dist/lookup.cjs +994 -0
  1131. package/node_modules/image-size/dist/lookup.d.mts +13 -0
  1132. package/node_modules/image-size/dist/lookup.d.ts +13 -0
  1133. package/node_modules/image-size/dist/lookup.mjs +991 -0
  1134. package/node_modules/image-size/dist/types/bmp.cjs +19 -0
  1135. package/node_modules/image-size/dist/types/bmp.d.mts +5 -0
  1136. package/node_modules/image-size/dist/types/bmp.d.ts +5 -0
  1137. package/node_modules/image-size/dist/types/bmp.mjs +17 -0
  1138. package/node_modules/image-size/dist/types/cur.cjs +60 -0
  1139. package/node_modules/image-size/dist/types/cur.d.mts +5 -0
  1140. package/node_modules/image-size/dist/types/cur.d.ts +5 -0
  1141. package/node_modules/image-size/dist/types/cur.mjs +58 -0
  1142. package/node_modules/image-size/dist/types/dds.cjs +17 -0
  1143. package/node_modules/image-size/dist/types/dds.d.mts +5 -0
  1144. package/node_modules/image-size/dist/types/dds.d.ts +5 -0
  1145. package/node_modules/image-size/dist/types/dds.mjs +15 -0
  1146. package/node_modules/image-size/dist/types/gif.cjs +19 -0
  1147. package/node_modules/image-size/dist/types/gif.d.mts +5 -0
  1148. package/node_modules/image-size/dist/types/gif.d.ts +5 -0
  1149. package/node_modules/image-size/dist/types/gif.mjs +17 -0
  1150. package/node_modules/image-size/dist/types/heif.cjs +86 -0
  1151. package/node_modules/image-size/dist/types/heif.d.mts +5 -0
  1152. package/node_modules/image-size/dist/types/heif.d.ts +5 -0
  1153. package/node_modules/image-size/dist/types/heif.mjs +84 -0
  1154. package/node_modules/image-size/dist/types/icns.cjs +90 -0
  1155. package/node_modules/image-size/dist/types/icns.d.mts +5 -0
  1156. package/node_modules/image-size/dist/types/icns.d.ts +5 -0
  1157. package/node_modules/image-size/dist/types/icns.mjs +88 -0
  1158. package/node_modules/image-size/dist/types/ico.cjs +47 -0
  1159. package/node_modules/image-size/dist/types/ico.d.mts +5 -0
  1160. package/node_modules/image-size/dist/types/ico.d.ts +5 -0
  1161. package/node_modules/image-size/dist/types/ico.mjs +45 -0
  1162. package/node_modules/image-size/dist/types/index.cjs +942 -0
  1163. package/node_modules/image-size/dist/types/index.d.mts +7 -0
  1164. package/node_modules/image-size/dist/types/index.d.ts +7 -0
  1165. package/node_modules/image-size/dist/types/index.mjs +939 -0
  1166. package/node_modules/image-size/dist/types/interface.cjs +2 -0
  1167. package/node_modules/image-size/dist/types/interface.d.mts +15 -0
  1168. package/node_modules/image-size/dist/types/interface.d.ts +15 -0
  1169. package/node_modules/image-size/dist/types/interface.mjs +1 -0
  1170. package/node_modules/image-size/dist/types/j2c.cjs +18 -0
  1171. package/node_modules/image-size/dist/types/j2c.d.mts +5 -0
  1172. package/node_modules/image-size/dist/types/j2c.d.ts +5 -0
  1173. package/node_modules/image-size/dist/types/j2c.mjs +16 -0
  1174. package/node_modules/image-size/dist/types/jp2.cjs +50 -0
  1175. package/node_modules/image-size/dist/types/jp2.d.mts +5 -0
  1176. package/node_modules/image-size/dist/types/jp2.d.ts +5 -0
  1177. package/node_modules/image-size/dist/types/jp2.mjs +48 -0
  1178. package/node_modules/image-size/dist/types/jpg.cjs +118 -0
  1179. package/node_modules/image-size/dist/types/jpg.d.mts +5 -0
  1180. package/node_modules/image-size/dist/types/jpg.d.ts +5 -0
  1181. package/node_modules/image-size/dist/types/jpg.mjs +116 -0
  1182. package/node_modules/image-size/dist/types/jxl-stream.cjs +80 -0
  1183. package/node_modules/image-size/dist/types/jxl-stream.d.mts +5 -0
  1184. package/node_modules/image-size/dist/types/jxl-stream.d.ts +5 -0
  1185. package/node_modules/image-size/dist/types/jxl-stream.mjs +78 -0
  1186. package/node_modules/image-size/dist/types/jxl.cjs +155 -0
  1187. package/node_modules/image-size/dist/types/jxl.d.mts +5 -0
  1188. package/node_modules/image-size/dist/types/jxl.d.ts +5 -0
  1189. package/node_modules/image-size/dist/types/jxl.mjs +153 -0
  1190. package/node_modules/image-size/dist/types/ktx.cjs +26 -0
  1191. package/node_modules/image-size/dist/types/ktx.d.mts +5 -0
  1192. package/node_modules/image-size/dist/types/ktx.d.ts +5 -0
  1193. package/node_modules/image-size/dist/types/ktx.mjs +24 -0
  1194. package/node_modules/image-size/dist/types/png.cjs +41 -0
  1195. package/node_modules/image-size/dist/types/png.d.mts +5 -0
  1196. package/node_modules/image-size/dist/types/png.d.ts +5 -0
  1197. package/node_modules/image-size/dist/types/png.mjs +39 -0
  1198. package/node_modules/image-size/dist/types/pnm.cjs +72 -0
  1199. package/node_modules/image-size/dist/types/pnm.d.mts +5 -0
  1200. package/node_modules/image-size/dist/types/pnm.d.ts +5 -0
  1201. package/node_modules/image-size/dist/types/pnm.mjs +70 -0
  1202. package/node_modules/image-size/dist/types/psd.cjs +18 -0
  1203. package/node_modules/image-size/dist/types/psd.d.mts +5 -0
  1204. package/node_modules/image-size/dist/types/psd.d.ts +5 -0
  1205. package/node_modules/image-size/dist/types/psd.mjs +16 -0
  1206. package/node_modules/image-size/dist/types/svg.cjs +97 -0
  1207. package/node_modules/image-size/dist/types/svg.d.mts +5 -0
  1208. package/node_modules/image-size/dist/types/svg.d.ts +5 -0
  1209. package/node_modules/image-size/dist/types/svg.mjs +95 -0
  1210. package/node_modules/image-size/dist/types/tga.cjs +21 -0
  1211. package/node_modules/image-size/dist/types/tga.d.mts +5 -0
  1212. package/node_modules/image-size/dist/types/tga.d.ts +5 -0
  1213. package/node_modules/image-size/dist/types/tga.mjs +19 -0
  1214. package/node_modules/image-size/dist/types/tiff.cjs +142 -0
  1215. package/node_modules/image-size/dist/types/tiff.d.mts +5 -0
  1216. package/node_modules/image-size/dist/types/tiff.d.ts +5 -0
  1217. package/node_modules/image-size/dist/types/tiff.mjs +140 -0
  1218. package/node_modules/image-size/dist/types/utils.cjs +60 -0
  1219. package/node_modules/image-size/dist/types/utils.d.mts +18 -0
  1220. package/node_modules/image-size/dist/types/utils.d.ts +18 -0
  1221. package/node_modules/image-size/dist/types/utils.mjs +47 -0
  1222. package/node_modules/image-size/dist/types/webp.cjs +63 -0
  1223. package/node_modules/image-size/dist/types/webp.d.mts +5 -0
  1224. package/node_modules/image-size/dist/types/webp.d.ts +5 -0
  1225. package/node_modules/image-size/dist/types/webp.mjs +61 -0
  1226. package/node_modules/image-size/dist/utils/bit-reader.cjs +43 -0
  1227. package/node_modules/image-size/dist/utils/bit-reader.d.mts +12 -0
  1228. package/node_modules/image-size/dist/utils/bit-reader.d.ts +12 -0
  1229. package/node_modules/image-size/dist/utils/bit-reader.mjs +41 -0
  1230. package/node_modules/image-size/package.json +104 -0
  1231. package/node_modules/mime-db/HISTORY.md +507 -0
  1232. package/node_modules/mime-db/LICENSE +23 -0
  1233. package/node_modules/mime-db/README.md +100 -0
  1234. package/node_modules/mime-db/db.json +8519 -0
  1235. package/node_modules/mime-db/index.js +12 -0
  1236. package/node_modules/mime-db/package.json +60 -0
  1237. package/node_modules/mime-types/HISTORY.md +397 -0
  1238. package/node_modules/mime-types/LICENSE +23 -0
  1239. package/node_modules/mime-types/README.md +113 -0
  1240. package/node_modules/mime-types/index.js +188 -0
  1241. package/node_modules/mime-types/package.json +44 -0
  1242. package/node_modules/minimist/.eslintrc +29 -0
  1243. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1244. package/node_modules/minimist/.nycrc +14 -0
  1245. package/node_modules/minimist/CHANGELOG.md +298 -0
  1246. package/node_modules/minimist/LICENSE +18 -0
  1247. package/node_modules/minimist/README.md +121 -0
  1248. package/node_modules/minimist/example/parse.js +4 -0
  1249. package/node_modules/minimist/index.js +263 -0
  1250. package/node_modules/minimist/package.json +75 -0
  1251. package/node_modules/minimist/test/all_bool.js +34 -0
  1252. package/node_modules/minimist/test/bool.js +177 -0
  1253. package/node_modules/minimist/test/dash.js +43 -0
  1254. package/node_modules/minimist/test/default_bool.js +37 -0
  1255. package/node_modules/minimist/test/dotted.js +24 -0
  1256. package/node_modules/minimist/test/kv_short.js +32 -0
  1257. package/node_modules/minimist/test/long.js +33 -0
  1258. package/node_modules/minimist/test/num.js +38 -0
  1259. package/node_modules/minimist/test/parse.js +209 -0
  1260. package/node_modules/minimist/test/parse_modified.js +11 -0
  1261. package/node_modules/minimist/test/proto.js +64 -0
  1262. package/node_modules/minimist/test/short.js +69 -0
  1263. package/node_modules/minimist/test/stop_early.js +17 -0
  1264. package/node_modules/minimist/test/unknown.js +104 -0
  1265. package/node_modules/minimist/test/whitespace.js +10 -0
  1266. package/node_modules/music-metadata/LICENSE.txt +9 -0
  1267. package/node_modules/music-metadata/README.md +878 -0
  1268. package/node_modules/music-metadata/lib/ParseError.d.ts +87 -0
  1269. package/node_modules/music-metadata/lib/ParseError.js +38 -0
  1270. package/node_modules/music-metadata/lib/ParserFactory.d.ts +44 -0
  1271. package/node_modules/music-metadata/lib/ParserFactory.js +141 -0
  1272. package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +2 -0
  1273. package/node_modules/music-metadata/lib/aiff/AiffLoader.js +8 -0
  1274. package/node_modules/music-metadata/lib/aiff/AiffParser.d.ts +15 -0
  1275. package/node_modules/music-metadata/lib/aiff/AiffParser.js +104 -0
  1276. package/node_modules/music-metadata/lib/aiff/AiffTagMap.d.ts +4 -0
  1277. package/node_modules/music-metadata/lib/aiff/AiffTagMap.js +15 -0
  1278. package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +48 -0
  1279. package/node_modules/music-metadata/lib/aiff/AiffToken.js +58 -0
  1280. package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +46 -0
  1281. package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +176 -0
  1282. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.d.ts +4 -0
  1283. package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +83 -0
  1284. package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +99 -0
  1285. package/node_modules/music-metadata/lib/apev2/APEv2Token.js +116 -0
  1286. package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +2 -0
  1287. package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +8 -0
  1288. package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +83 -0
  1289. package/node_modules/music-metadata/lib/asf/AsfGuid.js +109 -0
  1290. package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +2 -0
  1291. package/node_modules/music-metadata/lib/asf/AsfLoader.js +8 -0
  1292. package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +325 -0
  1293. package/node_modules/music-metadata/lib/asf/AsfObject.js +347 -0
  1294. package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +17 -0
  1295. package/node_modules/music-metadata/lib/asf/AsfParser.js +134 -0
  1296. package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +7 -0
  1297. package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +92 -0
  1298. package/node_modules/music-metadata/lib/asf/AsfUtil.d.ts +4 -0
  1299. package/node_modules/music-metadata/lib/asf/AsfUtil.js +32 -0
  1300. package/node_modules/music-metadata/lib/common/BasicParser.d.ts +17 -0
  1301. package/node_modules/music-metadata/lib/common/BasicParser.js +13 -0
  1302. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +10 -0
  1303. package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.js +17 -0
  1304. package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +19 -0
  1305. package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +50 -0
  1306. package/node_modules/music-metadata/lib/common/FourCC.d.ts +6 -0
  1307. package/node_modules/music-metadata/lib/common/FourCC.js +25 -0
  1308. package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +51 -0
  1309. package/node_modules/music-metadata/lib/common/GenericTagMapper.js +51 -0
  1310. package/node_modules/music-metadata/lib/common/GenericTagTypes.d.ts +34 -0
  1311. package/node_modules/music-metadata/lib/common/GenericTagTypes.js +133 -0
  1312. package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +86 -0
  1313. package/node_modules/music-metadata/lib/common/MetadataCollector.js +307 -0
  1314. package/node_modules/music-metadata/lib/common/Util.d.ts +56 -0
  1315. package/node_modules/music-metadata/lib/common/Util.js +152 -0
  1316. package/node_modules/music-metadata/lib/core.d.ts +75 -0
  1317. package/node_modules/music-metadata/lib/core.js +126 -0
  1318. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +2 -0
  1319. package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +8 -0
  1320. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.d.ts +29 -0
  1321. package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +154 -0
  1322. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.d.ts +9 -0
  1323. package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js +18 -0
  1324. package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +87 -0
  1325. package/node_modules/music-metadata/lib/dsf/DsfChunk.js +50 -0
  1326. package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +2 -0
  1327. package/node_modules/music-metadata/lib/dsf/DsfLoader.js +8 -0
  1328. package/node_modules/music-metadata/lib/dsf/DsfParser.d.ts +24 -0
  1329. package/node_modules/music-metadata/lib/dsf/DsfParser.js +57 -0
  1330. package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +67 -0
  1331. package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +218 -0
  1332. package/node_modules/music-metadata/lib/ebml/types.d.ts +37 -0
  1333. package/node_modules/music-metadata/lib/ebml/types.js +8 -0
  1334. package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +2 -0
  1335. package/node_modules/music-metadata/lib/flac/FlacLoader.js +8 -0
  1336. package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +29 -0
  1337. package/node_modules/music-metadata/lib/flac/FlacParser.js +125 -0
  1338. package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +45 -0
  1339. package/node_modules/music-metadata/lib/flac/FlacToken.js +63 -0
  1340. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +17 -0
  1341. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +137 -0
  1342. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.d.ts +4 -0
  1343. package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.js +18 -0
  1344. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.d.ts +17 -0
  1345. package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +56 -0
  1346. package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +31 -0
  1347. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +73 -0
  1348. package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +92 -0
  1349. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +470 -0
  1350. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +9 -0
  1351. package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +46 -0
  1352. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.d.ts +14 -0
  1353. package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +195 -0
  1354. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +11 -0
  1355. package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +17 -0
  1356. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +33 -0
  1357. package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +169 -0
  1358. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +111 -0
  1359. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +146 -0
  1360. package/node_modules/music-metadata/lib/iff/index.d.ts +33 -0
  1361. package/node_modules/music-metadata/lib/iff/index.js +16 -0
  1362. package/node_modules/music-metadata/lib/index.d.ts +22 -0
  1363. package/node_modules/music-metadata/lib/index.js +53 -0
  1364. package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +9 -0
  1365. package/node_modules/music-metadata/lib/lrc/LyricsParser.js +45 -0
  1366. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.d.ts +3 -0
  1367. package/node_modules/music-metadata/lib/lyrics3/Lyrics3.js +17 -0
  1368. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.d.ts +8 -0
  1369. package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +283 -0
  1370. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +2 -0
  1371. package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +8 -0
  1372. package/node_modules/music-metadata/lib/matroska/MatroskaParser.d.ts +19 -0
  1373. package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +143 -0
  1374. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.d.ts +4 -0
  1375. package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.js +32 -0
  1376. package/node_modules/music-metadata/lib/matroska/types.d.ts +142 -0
  1377. package/node_modules/music-metadata/lib/matroska/types.js +27 -0
  1378. package/node_modules/music-metadata/lib/mp4/Atom.d.ts +16 -0
  1379. package/node_modules/music-metadata/lib/mp4/Atom.js +65 -0
  1380. package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +487 -0
  1381. package/node_modules/music-metadata/lib/mp4/AtomToken.js +524 -0
  1382. package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +32 -0
  1383. package/node_modules/music-metadata/lib/mp4/MP4Parser.js +647 -0
  1384. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +8 -0
  1385. package/node_modules/music-metadata/lib/mp4/MP4TagMapper.js +123 -0
  1386. package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +2 -0
  1387. package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +8 -0
  1388. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.d.ts +27 -0
  1389. package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.js +28 -0
  1390. package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +2 -0
  1391. package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +8 -0
  1392. package/node_modules/music-metadata/lib/mpeg/MpegParser.d.ts +62 -0
  1393. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +569 -0
  1394. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +57 -0
  1395. package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +64 -0
  1396. package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +44 -0
  1397. package/node_modules/music-metadata/lib/mpeg/XingTag.js +65 -0
  1398. package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +15 -0
  1399. package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +3 -0
  1400. package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +2 -0
  1401. package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +8 -0
  1402. package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +4 -0
  1403. package/node_modules/music-metadata/lib/musepack/MusepackParser.js +30 -0
  1404. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.d.ts +13 -0
  1405. package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +46 -0
  1406. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -0
  1407. package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +47 -0
  1408. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.d.ts +28 -0
  1409. package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +39 -0
  1410. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -0
  1411. package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +56 -0
  1412. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.d.ts +42 -0
  1413. package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +82 -0
  1414. package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +2 -0
  1415. package/node_modules/music-metadata/lib/ogg/OggLoader.js +8 -0
  1416. package/node_modules/music-metadata/lib/ogg/OggParser.d.ts +27 -0
  1417. package/node_modules/music-metadata/lib/ogg/OggParser.js +125 -0
  1418. package/node_modules/music-metadata/lib/ogg/OggToken.d.ts +83 -0
  1419. package/node_modules/music-metadata/lib/ogg/OggToken.js +41 -0
  1420. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +29 -0
  1421. package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +74 -0
  1422. package/node_modules/music-metadata/lib/ogg/opus/Opus.d.ts +63 -0
  1423. package/node_modules/music-metadata/lib/ogg/opus/Opus.js +27 -0
  1424. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +24 -0
  1425. package/node_modules/music-metadata/lib/ogg/opus/OpusStream.js +56 -0
  1426. package/node_modules/music-metadata/lib/ogg/speex/Speex.d.ts +36 -0
  1427. package/node_modules/music-metadata/lib/ogg/speex/Speex.js +28 -0
  1428. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +20 -0
  1429. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +31 -0
  1430. package/node_modules/music-metadata/lib/ogg/theora/Theora.d.ts +20 -0
  1431. package/node_modules/music-metadata/lib/ogg/theora/Theora.js +20 -0
  1432. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +25 -0
  1433. package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +39 -0
  1434. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +68 -0
  1435. package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js +83 -0
  1436. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -0
  1437. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +29 -0
  1438. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +53 -0
  1439. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +136 -0
  1440. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -0
  1441. package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +133 -0
  1442. package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +16 -0
  1443. package/node_modules/music-metadata/lib/riff/RiffChunk.js +28 -0
  1444. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +10 -0
  1445. package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.js +34 -0
  1446. package/node_modules/music-metadata/lib/type.d.ts +661 -0
  1447. package/node_modules/music-metadata/lib/type.js +2 -0
  1448. package/node_modules/music-metadata/lib/wav/BwfChunk.d.ts +17 -0
  1449. package/node_modules/music-metadata/lib/wav/BwfChunk.js +26 -0
  1450. package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +94 -0
  1451. package/node_modules/music-metadata/lib/wav/WaveChunk.js +78 -0
  1452. package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +2 -0
  1453. package/node_modules/music-metadata/lib/wav/WaveLoader.js +8 -0
  1454. package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +24 -0
  1455. package/node_modules/music-metadata/lib/wav/WaveParser.js +170 -0
  1456. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +2 -0
  1457. package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +8 -0
  1458. package/node_modules/music-metadata/lib/wavpack/WavPackParser.d.ts +30 -0
  1459. package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +109 -0
  1460. package/node_modules/music-metadata/lib/wavpack/WavPackToken.d.ts +60 -0
  1461. package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +70 -0
  1462. package/node_modules/music-metadata/node_modules/file-type/core.d.ts +253 -0
  1463. package/node_modules/music-metadata/node_modules/file-type/core.js +2899 -0
  1464. package/node_modules/music-metadata/node_modules/file-type/index.d.ts +98 -0
  1465. package/node_modules/music-metadata/node_modules/file-type/index.js +163 -0
  1466. package/node_modules/music-metadata/node_modules/file-type/license +9 -0
  1467. package/node_modules/music-metadata/node_modules/file-type/package.json +290 -0
  1468. package/node_modules/music-metadata/node_modules/file-type/readme.md +667 -0
  1469. package/node_modules/music-metadata/node_modules/file-type/supported.js +360 -0
  1470. package/node_modules/music-metadata/node_modules/file-type/util.js +60 -0
  1471. package/node_modules/music-metadata/node_modules/strtok3/LICENSE.txt +21 -0
  1472. package/node_modules/music-metadata/node_modules/strtok3/README.md +399 -0
  1473. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.d.ts +76 -0
  1474. package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.js +111 -0
  1475. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.d.ts +29 -0
  1476. package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.js +53 -0
  1477. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.d.ts +29 -0
  1478. package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.js +52 -0
  1479. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.d.ts +37 -0
  1480. package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.js +61 -0
  1481. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +34 -0
  1482. package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.js +107 -0
  1483. package/node_modules/music-metadata/node_modules/strtok3/lib/core.d.ts +40 -0
  1484. package/node_modules/music-metadata/node_modules/strtok3/lib/core.js +62 -0
  1485. package/node_modules/music-metadata/node_modules/strtok3/lib/index.d.ts +16 -0
  1486. package/node_modules/music-metadata/node_modules/strtok3/lib/index.js +22 -0
  1487. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +54 -0
  1488. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.js +71 -0
  1489. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.d.ts +6 -0
  1490. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.js +10 -0
  1491. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.d.ts +10 -0
  1492. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.js +16 -0
  1493. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.d.ts +29 -0
  1494. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.js +83 -0
  1495. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +14 -0
  1496. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.js +27 -0
  1497. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +19 -0
  1498. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +62 -0
  1499. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +14 -0
  1500. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.js +13 -0
  1501. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +5 -0
  1502. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +19 -0
  1503. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.d.ts +6 -0
  1504. package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.js +5 -0
  1505. package/node_modules/music-metadata/node_modules/strtok3/lib/types.d.ts +139 -0
  1506. package/node_modules/music-metadata/node_modules/strtok3/lib/types.js +1 -0
  1507. package/node_modules/music-metadata/node_modules/strtok3/package.json +94 -0
  1508. package/node_modules/music-metadata/node_modules/token-types/LICENSE.txt +9 -0
  1509. package/node_modules/music-metadata/node_modules/token-types/README.md +120 -0
  1510. package/node_modules/music-metadata/node_modules/token-types/lib/index.d.ts +135 -0
  1511. package/node_modules/music-metadata/node_modules/token-types/lib/index.js +401 -0
  1512. package/node_modules/music-metadata/node_modules/token-types/package.json +81 -0
  1513. package/node_modules/music-metadata/package.json +156 -0
  1514. package/node_modules/nth-check/LICENSE +11 -0
  1515. package/node_modules/nth-check/README.md +136 -0
  1516. package/node_modules/nth-check/lib/compile.d.ts +55 -0
  1517. package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
  1518. package/node_modules/nth-check/lib/compile.js +121 -0
  1519. package/node_modules/nth-check/lib/compile.js.map +1 -0
  1520. package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
  1521. package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
  1522. package/node_modules/nth-check/lib/esm/compile.js +113 -0
  1523. package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
  1524. package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
  1525. package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
  1526. package/node_modules/nth-check/lib/esm/index.js +63 -0
  1527. package/node_modules/nth-check/lib/esm/index.js.map +1 -0
  1528. package/node_modules/nth-check/lib/esm/package.json +1 -0
  1529. package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
  1530. package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
  1531. package/node_modules/nth-check/lib/esm/parse.js +73 -0
  1532. package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
  1533. package/node_modules/nth-check/lib/index.d.ts +59 -0
  1534. package/node_modules/nth-check/lib/index.d.ts.map +1 -0
  1535. package/node_modules/nth-check/lib/index.js +70 -0
  1536. package/node_modules/nth-check/lib/index.js.map +1 -0
  1537. package/node_modules/nth-check/lib/parse.d.ts +9 -0
  1538. package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
  1539. package/node_modules/nth-check/lib/parse.js +77 -0
  1540. package/node_modules/nth-check/lib/parse.js.map +1 -0
  1541. package/node_modules/nth-check/package.json +78 -0
  1542. package/node_modules/papaparse/.eslintrc.js +280 -0
  1543. package/node_modules/papaparse/.github/workflows/node.js.yml +29 -0
  1544. package/node_modules/papaparse/Gruntfile.js +27 -0
  1545. package/node_modules/papaparse/LICENSE +20 -0
  1546. package/node_modules/papaparse/README.md +77 -0
  1547. package/node_modules/papaparse/bower.json +40 -0
  1548. package/node_modules/papaparse/package.json +58 -0
  1549. package/node_modules/papaparse/papaparse.js +1945 -0
  1550. package/node_modules/papaparse/papaparse.min.js +7 -0
  1551. package/node_modules/papaparse/player/player.css +1045 -0
  1552. package/node_modules/papaparse/player/player.html +79 -0
  1553. package/node_modules/papaparse/player/player.js +181 -0
  1554. package/node_modules/papaparse/tests/.eslintrc.js +12 -0
  1555. package/node_modules/papaparse/tests/long-sample.csv +8 -0
  1556. package/node_modules/papaparse/tests/node-tests.js +302 -0
  1557. package/node_modules/papaparse/tests/sample-header.csv +3 -0
  1558. package/node_modules/papaparse/tests/sample.csv +2 -0
  1559. package/node_modules/papaparse/tests/test-cases.js +2840 -0
  1560. package/node_modules/papaparse/tests/test.js +20 -0
  1561. package/node_modules/papaparse/tests/tests.html +22 -0
  1562. package/node_modules/papaparse/tests/utf-8-bom-sample.csv +2 -0
  1563. package/node_modules/papaparse/tests/verylong-sample.csv +2001 -0
  1564. package/node_modules/parse5/LICENSE +19 -0
  1565. package/node_modules/parse5/README.md +38 -0
  1566. package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
  1567. package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  1568. package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
  1569. package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  1570. package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
  1571. package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  1572. package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
  1573. package/node_modules/parse5/dist/cjs/common/html.js +528 -0
  1574. package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
  1575. package/node_modules/parse5/dist/cjs/common/token.js +24 -0
  1576. package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
  1577. package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  1578. package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
  1579. package/node_modules/parse5/dist/cjs/index.js +54 -0
  1580. package/node_modules/parse5/dist/cjs/package.json +1 -0
  1581. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
  1582. package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  1583. package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
  1584. package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  1585. package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
  1586. package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  1587. package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
  1588. package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  1589. package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
  1590. package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  1591. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
  1592. package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  1593. package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
  1594. package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  1595. package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
  1596. package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  1597. package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
  1598. package/node_modules/parse5/dist/common/doctype.js +114 -0
  1599. package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
  1600. package/node_modules/parse5/dist/common/error-codes.js +63 -0
  1601. package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
  1602. package/node_modules/parse5/dist/common/foreign-content.js +228 -0
  1603. package/node_modules/parse5/dist/common/html.d.ts +289 -0
  1604. package/node_modules/parse5/dist/common/html.js +523 -0
  1605. package/node_modules/parse5/dist/common/token.d.ts +84 -0
  1606. package/node_modules/parse5/dist/common/token.js +20 -0
  1607. package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
  1608. package/node_modules/parse5/dist/common/unicode.js +62 -0
  1609. package/node_modules/parse5/dist/index.d.ts +71 -0
  1610. package/node_modules/parse5/dist/index.js +42 -0
  1611. package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
  1612. package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  1613. package/node_modules/parse5/dist/parser/index.d.ts +221 -0
  1614. package/node_modules/parse5/dist/parser/index.js +3245 -0
  1615. package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
  1616. package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  1617. package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
  1618. package/node_modules/parse5/dist/serializer/index.js +168 -0
  1619. package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
  1620. package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  1621. package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
  1622. package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  1623. package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
  1624. package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  1625. package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
  1626. package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  1627. package/node_modules/parse5/node_modules/entities/LICENSE +11 -0
  1628. package/node_modules/parse5/node_modules/entities/decode.d.ts +1 -0
  1629. package/node_modules/parse5/node_modules/entities/decode.js +3 -0
  1630. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  1631. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  1632. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  1633. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  1634. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
  1635. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  1636. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js +511 -0
  1637. package/node_modules/parse5/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  1638. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  1639. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  1640. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js +73 -0
  1641. package/node_modules/parse5/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  1642. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
  1643. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  1644. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js +121 -0
  1645. package/node_modules/parse5/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  1646. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
  1647. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  1648. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  1649. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  1650. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
  1651. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  1652. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  1653. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  1654. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
  1655. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  1656. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  1657. package/node_modules/parse5/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  1658. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  1659. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  1660. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js +131 -0
  1661. package/node_modules/parse5/node_modules/entities/dist/commonjs/index.js.map +1 -0
  1662. package/node_modules/parse5/node_modules/entities/dist/commonjs/package.json +3 -0
  1663. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  1664. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  1665. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  1666. package/node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  1667. package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts +209 -0
  1668. package/node_modules/parse5/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  1669. package/node_modules/parse5/node_modules/entities/dist/esm/decode.js +497 -0
  1670. package/node_modules/parse5/node_modules/entities/dist/esm/decode.js.map +1 -0
  1671. package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts +22 -0
  1672. package/node_modules/parse5/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  1673. package/node_modules/parse5/node_modules/entities/dist/esm/encode.js +69 -0
  1674. package/node_modules/parse5/node_modules/entities/dist/esm/encode.js.map +1 -0
  1675. package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts +43 -0
  1676. package/node_modules/parse5/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  1677. package/node_modules/parse5/node_modules/entities/dist/esm/escape.js +117 -0
  1678. package/node_modules/parse5/node_modules/entities/dist/esm/escape.js.map +1 -0
  1679. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
  1680. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  1681. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  1682. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  1683. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
  1684. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  1685. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  1686. package/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  1687. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
  1688. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  1689. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  1690. package/node_modules/parse5/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  1691. package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts +96 -0
  1692. package/node_modules/parse5/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  1693. package/node_modules/parse5/node_modules/entities/dist/esm/index.js +107 -0
  1694. package/node_modules/parse5/node_modules/entities/dist/esm/index.js.map +1 -0
  1695. package/node_modules/parse5/node_modules/entities/dist/esm/package.json +3 -0
  1696. package/node_modules/parse5/node_modules/entities/escape.d.ts +1 -0
  1697. package/node_modules/parse5/node_modules/entities/escape.js +3 -0
  1698. package/node_modules/parse5/node_modules/entities/package.json +118 -0
  1699. package/node_modules/parse5/node_modules/entities/readme.md +122 -0
  1700. package/node_modules/parse5/node_modules/entities/src/decode-codepoint.ts +81 -0
  1701. package/node_modules/parse5/node_modules/entities/src/decode.spec.ts +320 -0
  1702. package/node_modules/parse5/node_modules/entities/src/decode.ts +620 -0
  1703. package/node_modules/parse5/node_modules/entities/src/encode.spec.ts +78 -0
  1704. package/node_modules/parse5/node_modules/entities/src/encode.ts +77 -0
  1705. package/node_modules/parse5/node_modules/entities/src/escape.spec.ts +14 -0
  1706. package/node_modules/parse5/node_modules/entities/src/escape.ts +148 -0
  1707. package/node_modules/parse5/node_modules/entities/src/generated/.eslintrc.json +10 -0
  1708. package/node_modules/parse5/node_modules/entities/src/generated/decode-data-html.ts +8 -0
  1709. package/node_modules/parse5/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
  1710. package/node_modules/parse5/node_modules/entities/src/generated/encode-html.ts +17 -0
  1711. package/node_modules/parse5/node_modules/entities/src/index.spec.ts +125 -0
  1712. package/node_modules/parse5/node_modules/entities/src/index.ts +188 -0
  1713. package/node_modules/parse5/package.json +50 -0
  1714. package/node_modules/parse5-htmlparser2-tree-adapter/LICENSE +19 -0
  1715. package/node_modules/parse5-htmlparser2-tree-adapter/README.md +34 -0
  1716. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts +6 -0
  1717. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js +214 -0
  1718. package/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json +1 -0
  1719. package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts +6 -0
  1720. package/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js +213 -0
  1721. package/node_modules/parse5-htmlparser2-tree-adapter/package.json +40 -0
  1722. package/node_modules/parse5-parser-stream/LICENSE +19 -0
  1723. package/node_modules/parse5-parser-stream/README.md +34 -0
  1724. package/node_modules/parse5-parser-stream/dist/cjs/index.d.ts +85 -0
  1725. package/node_modules/parse5-parser-stream/dist/cjs/index.js +90 -0
  1726. package/node_modules/parse5-parser-stream/dist/cjs/package.json +1 -0
  1727. package/node_modules/parse5-parser-stream/dist/index.d.ts +85 -0
  1728. package/node_modules/parse5-parser-stream/dist/index.js +86 -0
  1729. package/node_modules/parse5-parser-stream/package.json +39 -0
  1730. package/node_modules/readable-web-to-node-stream/README.md +70 -0
  1731. package/node_modules/readable-web-to-node-stream/lib/index.d.ts +39 -0
  1732. package/node_modules/readable-web-to-node-stream/lib/index.js +73 -0
  1733. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/LICENSE +47 -0
  1734. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/README.md +116 -0
  1735. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  1736. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  1737. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  1738. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  1739. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  1740. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  1741. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  1742. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  1743. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  1744. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  1745. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  1746. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  1747. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  1748. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  1749. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +89 -0
  1750. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  1751. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  1752. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  1753. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  1754. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  1755. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  1756. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  1757. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  1758. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
  1759. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
  1760. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
  1761. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
  1762. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  1763. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  1764. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
  1765. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
  1766. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/lib/stream.js +143 -0
  1767. package/node_modules/readable-web-to-node-stream/node_modules/readable-stream/package.json +88 -0
  1768. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/LICENSE +21 -0
  1769. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/README.md +584 -0
  1770. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/index.d.ts +187 -0
  1771. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/index.js +65 -0
  1772. package/node_modules/readable-web-to-node-stream/node_modules/safe-buffer/package.json +51 -0
  1773. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/LICENSE +48 -0
  1774. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/README.md +47 -0
  1775. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1776. package/node_modules/readable-web-to-node-stream/node_modules/string_decoder/package.json +34 -0
  1777. package/node_modules/readable-web-to-node-stream/package.json +84 -0
  1778. package/node_modules/sax/LICENSE.md +55 -0
  1779. package/node_modules/sax/README.md +227 -0
  1780. package/node_modules/sax/lib/sax.js +1848 -0
  1781. package/node_modules/sax/package.json +34 -0
  1782. package/node_modules/ssf/LICENSE +201 -0
  1783. package/node_modules/ssf/README.md +119 -0
  1784. package/node_modules/ssf/package.json +57 -0
  1785. package/node_modules/ssf/ssf.flow.js +980 -0
  1786. package/node_modules/ssf/ssf.js +966 -0
  1787. package/node_modules/ssf/types/index.d.ts +56 -0
  1788. package/node_modules/ssf/types/tsconfig.json +15 -0
  1789. package/node_modules/strtok3/LICENSE +15 -0
  1790. package/node_modules/strtok3/README.md +304 -0
  1791. package/node_modules/strtok3/lib/AbstractTokenizer.d.ts +69 -0
  1792. package/node_modules/strtok3/lib/AbstractTokenizer.js +104 -0
  1793. package/node_modules/strtok3/lib/BufferTokenizer.d.ts +26 -0
  1794. package/node_modules/strtok3/lib/BufferTokenizer.js +55 -0
  1795. package/node_modules/strtok3/lib/FileTokenizer.d.ts +22 -0
  1796. package/node_modules/strtok3/lib/FileTokenizer.js +55 -0
  1797. package/node_modules/strtok3/lib/FsPromise.d.ts +18 -0
  1798. package/node_modules/strtok3/lib/FsPromise.js +79 -0
  1799. package/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +28 -0
  1800. package/node_modules/strtok3/lib/ReadStreamTokenizer.js +98 -0
  1801. package/node_modules/strtok3/lib/core.d.ts +23 -0
  1802. package/node_modules/strtok3/lib/core.js +29 -0
  1803. package/node_modules/strtok3/lib/index.d.ts +15 -0
  1804. package/node_modules/strtok3/lib/index.js +27 -0
  1805. package/node_modules/strtok3/lib/types.d.ts +103 -0
  1806. package/node_modules/strtok3/lib/types.js +2 -0
  1807. package/node_modules/strtok3/package.json +103 -0
  1808. package/node_modules/token-types/LICENSE +7 -0
  1809. package/node_modules/token-types/README.md +115 -0
  1810. package/node_modules/token-types/lib/index.d.ts +150 -0
  1811. package/node_modules/token-types/lib/index.js +455 -0
  1812. package/node_modules/token-types/package.json +93 -0
  1813. package/node_modules/undici/LICENSE +21 -0
  1814. package/node_modules/undici/README.md +741 -0
  1815. package/node_modules/undici/docs/docs/api/Agent.md +84 -0
  1816. package/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  1817. package/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  1818. package/node_modules/undici/docs/docs/api/CacheStore.md +164 -0
  1819. package/node_modules/undici/docs/docs/api/Client.md +285 -0
  1820. package/node_modules/undici/docs/docs/api/ClientStats.md +27 -0
  1821. package/node_modules/undici/docs/docs/api/Connector.md +115 -0
  1822. package/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  1823. package/node_modules/undici/docs/docs/api/Cookies.md +101 -0
  1824. package/node_modules/undici/docs/docs/api/Debug.md +62 -0
  1825. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +315 -0
  1826. package/node_modules/undici/docs/docs/api/Dispatcher.md +1392 -0
  1827. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +159 -0
  1828. package/node_modules/undici/docs/docs/api/Errors.md +49 -0
  1829. package/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  1830. package/node_modules/undici/docs/docs/api/Fetch.md +60 -0
  1831. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +139 -0
  1832. package/node_modules/undici/docs/docs/api/H2CClient.md +263 -0
  1833. package/node_modules/undici/docs/docs/api/MockAgent.md +603 -0
  1834. package/node_modules/undici/docs/docs/api/MockCallHistory.md +197 -0
  1835. package/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +43 -0
  1836. package/node_modules/undici/docs/docs/api/MockClient.md +81 -0
  1837. package/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  1838. package/node_modules/undici/docs/docs/api/MockPool.md +555 -0
  1839. package/node_modules/undici/docs/docs/api/Pool.md +84 -0
  1840. package/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  1841. package/node_modules/undici/docs/docs/api/ProxyAgent.md +229 -0
  1842. package/node_modules/undici/docs/docs/api/RedirectHandler.md +93 -0
  1843. package/node_modules/undici/docs/docs/api/RetryAgent.md +50 -0
  1844. package/node_modules/undici/docs/docs/api/RetryHandler.md +118 -0
  1845. package/node_modules/undici/docs/docs/api/RoundRobinPool.md +145 -0
  1846. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +616 -0
  1847. package/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +274 -0
  1848. package/node_modules/undici/docs/docs/api/Util.md +25 -0
  1849. package/node_modules/undici/docs/docs/api/WebSocket.md +141 -0
  1850. package/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  1851. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  1852. package/node_modules/undici/docs/docs/best-practices/crawling.md +58 -0
  1853. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +190 -0
  1854. package/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  1855. package/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +224 -0
  1856. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +63 -0
  1857. package/node_modules/undici/index-fetch.js +65 -0
  1858. package/node_modules/undici/index.d.ts +3 -0
  1859. package/node_modules/undici/index.js +234 -0
  1860. package/node_modules/undici/lib/api/abort-signal.js +59 -0
  1861. package/node_modules/undici/lib/api/api-connect.js +110 -0
  1862. package/node_modules/undici/lib/api/api-pipeline.js +252 -0
  1863. package/node_modules/undici/lib/api/api-request.js +214 -0
  1864. package/node_modules/undici/lib/api/api-stream.js +209 -0
  1865. package/node_modules/undici/lib/api/api-upgrade.js +111 -0
  1866. package/node_modules/undici/lib/api/index.js +7 -0
  1867. package/node_modules/undici/lib/api/readable.js +580 -0
  1868. package/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  1869. package/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
  1870. package/node_modules/undici/lib/core/connect.js +137 -0
  1871. package/node_modules/undici/lib/core/constants.js +143 -0
  1872. package/node_modules/undici/lib/core/diagnostics.js +227 -0
  1873. package/node_modules/undici/lib/core/errors.js +477 -0
  1874. package/node_modules/undici/lib/core/request.js +438 -0
  1875. package/node_modules/undici/lib/core/socks5-client.js +407 -0
  1876. package/node_modules/undici/lib/core/socks5-utils.js +203 -0
  1877. package/node_modules/undici/lib/core/symbols.js +75 -0
  1878. package/node_modules/undici/lib/core/tree.js +160 -0
  1879. package/node_modules/undici/lib/core/util.js +992 -0
  1880. package/node_modules/undici/lib/dispatcher/agent.js +158 -0
  1881. package/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  1882. package/node_modules/undici/lib/dispatcher/client-h1.js +1610 -0
  1883. package/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  1884. package/node_modules/undici/lib/dispatcher/client.js +659 -0
  1885. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
  1886. package/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  1887. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  1888. package/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  1889. package/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  1890. package/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  1891. package/node_modules/undici/lib/dispatcher/pool.js +118 -0
  1892. package/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
  1893. package/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  1894. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  1895. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
  1896. package/node_modules/undici/lib/encoding/index.js +33 -0
  1897. package/node_modules/undici/lib/global.js +50 -0
  1898. package/node_modules/undici/lib/handler/cache-handler.js +578 -0
  1899. package/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  1900. package/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  1901. package/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  1902. package/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  1903. package/node_modules/undici/lib/handler/retry-handler.js +394 -0
  1904. package/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
  1905. package/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  1906. package/node_modules/undici/lib/interceptor/cache.js +495 -0
  1907. package/node_modules/undici/lib/interceptor/decompress.js +259 -0
  1908. package/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  1909. package/node_modules/undici/lib/interceptor/dns.js +571 -0
  1910. package/node_modules/undici/lib/interceptor/dump.js +112 -0
  1911. package/node_modules/undici/lib/interceptor/redirect.js +21 -0
  1912. package/node_modules/undici/lib/interceptor/response-error.js +95 -0
  1913. package/node_modules/undici/lib/interceptor/retry.js +19 -0
  1914. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  1915. package/node_modules/undici/lib/llhttp/constants.d.ts +195 -0
  1916. package/node_modules/undici/lib/llhttp/constants.js +531 -0
  1917. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  1918. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  1919. package/node_modules/undici/lib/llhttp/utils.d.ts +2 -0
  1920. package/node_modules/undici/lib/llhttp/utils.js +12 -0
  1921. package/node_modules/undici/lib/mock/mock-agent.js +232 -0
  1922. package/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  1923. package/node_modules/undici/lib/mock/mock-client.js +68 -0
  1924. package/node_modules/undici/lib/mock/mock-errors.js +29 -0
  1925. package/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  1926. package/node_modules/undici/lib/mock/mock-pool.js +68 -0
  1927. package/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  1928. package/node_modules/undici/lib/mock/mock-utils.js +486 -0
  1929. package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  1930. package/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  1931. package/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  1932. package/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  1933. package/node_modules/undici/lib/util/cache.js +407 -0
  1934. package/node_modules/undici/lib/util/date.js +653 -0
  1935. package/node_modules/undici/lib/util/promise.js +28 -0
  1936. package/node_modules/undici/lib/util/runtime-features.js +124 -0
  1937. package/node_modules/undici/lib/util/stats.js +32 -0
  1938. package/node_modules/undici/lib/util/timers.js +425 -0
  1939. package/node_modules/undici/lib/web/cache/cache.js +864 -0
  1940. package/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  1941. package/node_modules/undici/lib/web/cache/util.js +45 -0
  1942. package/node_modules/undici/lib/web/cookies/constants.js +12 -0
  1943. package/node_modules/undici/lib/web/cookies/index.js +199 -0
  1944. package/node_modules/undici/lib/web/cookies/parse.js +322 -0
  1945. package/node_modules/undici/lib/web/cookies/util.js +282 -0
  1946. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  1947. package/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  1948. package/node_modules/undici/lib/web/eventsource/util.js +29 -0
  1949. package/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  1950. package/node_modules/undici/lib/web/fetch/body.js +509 -0
  1951. package/node_modules/undici/lib/web/fetch/constants.js +131 -0
  1952. package/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  1953. package/node_modules/undici/lib/web/fetch/formdata-parser.js +575 -0
  1954. package/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  1955. package/node_modules/undici/lib/web/fetch/global.js +40 -0
  1956. package/node_modules/undici/lib/web/fetch/headers.js +719 -0
  1957. package/node_modules/undici/lib/web/fetch/index.js +2397 -0
  1958. package/node_modules/undici/lib/web/fetch/request.js +1115 -0
  1959. package/node_modules/undici/lib/web/fetch/response.js +641 -0
  1960. package/node_modules/undici/lib/web/fetch/util.js +1520 -0
  1961. package/node_modules/undici/lib/web/infra/index.js +229 -0
  1962. package/node_modules/undici/lib/web/subresource-integrity/Readme.md +9 -0
  1963. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  1964. package/node_modules/undici/lib/web/webidl/index.js +1006 -0
  1965. package/node_modules/undici/lib/web/websocket/connection.js +329 -0
  1966. package/node_modules/undici/lib/web/websocket/constants.js +126 -0
  1967. package/node_modules/undici/lib/web/websocket/events.js +331 -0
  1968. package/node_modules/undici/lib/web/websocket/frame.js +133 -0
  1969. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
  1970. package/node_modules/undici/lib/web/websocket/receiver.js +450 -0
  1971. package/node_modules/undici/lib/web/websocket/sender.js +109 -0
  1972. package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  1973. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +497 -0
  1974. package/node_modules/undici/lib/web/websocket/util.js +347 -0
  1975. package/node_modules/undici/lib/web/websocket/websocket.js +751 -0
  1976. package/node_modules/undici/package.json +152 -0
  1977. package/node_modules/undici/scripts/strip-comments.js +10 -0
  1978. package/node_modules/undici/types/README.md +6 -0
  1979. package/node_modules/undici/types/agent.d.ts +32 -0
  1980. package/node_modules/undici/types/api.d.ts +43 -0
  1981. package/node_modules/undici/types/balanced-pool.d.ts +30 -0
  1982. package/node_modules/undici/types/cache-interceptor.d.ts +179 -0
  1983. package/node_modules/undici/types/cache.d.ts +36 -0
  1984. package/node_modules/undici/types/client-stats.d.ts +15 -0
  1985. package/node_modules/undici/types/client.d.ts +123 -0
  1986. package/node_modules/undici/types/connector.d.ts +36 -0
  1987. package/node_modules/undici/types/content-type.d.ts +21 -0
  1988. package/node_modules/undici/types/cookies.d.ts +30 -0
  1989. package/node_modules/undici/types/diagnostics-channel.d.ts +74 -0
  1990. package/node_modules/undici/types/dispatcher.d.ts +273 -0
  1991. package/node_modules/undici/types/env-http-proxy-agent.d.ts +22 -0
  1992. package/node_modules/undici/types/errors.d.ts +177 -0
  1993. package/node_modules/undici/types/eventsource.d.ts +66 -0
  1994. package/node_modules/undici/types/fetch.d.ts +231 -0
  1995. package/node_modules/undici/types/formdata.d.ts +114 -0
  1996. package/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  1997. package/node_modules/undici/types/global-origin.d.ts +7 -0
  1998. package/node_modules/undici/types/h2c-client.d.ts +73 -0
  1999. package/node_modules/undici/types/handlers.d.ts +14 -0
  2000. package/node_modules/undici/types/header.d.ts +160 -0
  2001. package/node_modules/undici/types/index.d.ts +91 -0
  2002. package/node_modules/undici/types/interceptors.d.ts +80 -0
  2003. package/node_modules/undici/types/mock-agent.d.ts +68 -0
  2004. package/node_modules/undici/types/mock-call-history.d.ts +111 -0
  2005. package/node_modules/undici/types/mock-client.d.ts +27 -0
  2006. package/node_modules/undici/types/mock-errors.d.ts +12 -0
  2007. package/node_modules/undici/types/mock-interceptor.d.ts +94 -0
  2008. package/node_modules/undici/types/mock-pool.d.ts +27 -0
  2009. package/node_modules/undici/types/patch.d.ts +29 -0
  2010. package/node_modules/undici/types/pool-stats.d.ts +19 -0
  2011. package/node_modules/undici/types/pool.d.ts +41 -0
  2012. package/node_modules/undici/types/proxy-agent.d.ts +29 -0
  2013. package/node_modules/undici/types/readable.d.ts +68 -0
  2014. package/node_modules/undici/types/retry-agent.d.ts +8 -0
  2015. package/node_modules/undici/types/retry-handler.d.ts +125 -0
  2016. package/node_modules/undici/types/round-robin-pool.d.ts +41 -0
  2017. package/node_modules/undici/types/snapshot-agent.d.ts +109 -0
  2018. package/node_modules/undici/types/socks5-proxy-agent.d.ts +25 -0
  2019. package/node_modules/undici/types/util.d.ts +18 -0
  2020. package/node_modules/undici/types/utility.d.ts +7 -0
  2021. package/node_modules/undici/types/webidl.d.ts +347 -0
  2022. package/node_modules/undici/types/websocket.d.ts +188 -0
  2023. package/node_modules/unpdf/LICENSE +21 -0
  2024. package/node_modules/unpdf/README.md +371 -0
  2025. package/node_modules/unpdf/dist/index.cjs +340 -0
  2026. package/node_modules/unpdf/dist/index.d.cts +152 -0
  2027. package/node_modules/unpdf/dist/index.d.mts +152 -0
  2028. package/node_modules/unpdf/dist/index.d.ts +152 -0
  2029. package/node_modules/unpdf/dist/index.mjs +328 -0
  2030. package/node_modules/unpdf/dist/pdfjs.d.mts +1 -0
  2031. package/node_modules/unpdf/dist/pdfjs.d.ts +1 -0
  2032. package/node_modules/unpdf/dist/pdfjs.mjs +1 -0
  2033. package/node_modules/unpdf/dist/types/src/display/annotation_layer.d.ts +271 -0
  2034. package/node_modules/unpdf/dist/types/src/display/annotation_storage.d.ts +94 -0
  2035. package/node_modules/unpdf/dist/types/src/display/api.d.ts +1595 -0
  2036. package/node_modules/unpdf/dist/types/src/display/api_utils.d.ts +13 -0
  2037. package/node_modules/unpdf/dist/types/src/display/canvas.d.ts +207 -0
  2038. package/node_modules/unpdf/dist/types/src/display/canvas_dependency_tracker.d.ts +160 -0
  2039. package/node_modules/unpdf/dist/types/src/display/canvas_factory.d.ts +27 -0
  2040. package/node_modules/unpdf/dist/types/src/display/cmap_reader_factory.d.ts +25 -0
  2041. package/node_modules/unpdf/dist/types/src/display/content_disposition.d.ts +7 -0
  2042. package/node_modules/unpdf/dist/types/src/display/display_utils.d.ts +280 -0
  2043. package/node_modules/unpdf/dist/types/src/display/draw_layer.d.ts +26 -0
  2044. package/node_modules/unpdf/dist/types/src/display/editor/alt_text.d.ts +34 -0
  2045. package/node_modules/unpdf/dist/types/src/display/editor/annotation_editor_layer.d.ts +232 -0
  2046. package/node_modules/unpdf/dist/types/src/display/editor/color_picker.d.ts +39 -0
  2047. package/node_modules/unpdf/dist/types/src/display/editor/comment.d.ts +47 -0
  2048. package/node_modules/unpdf/dist/types/src/display/editor/draw.d.ts +121 -0
  2049. package/node_modules/unpdf/dist/types/src/display/editor/drawers/contour.d.ts +3 -0
  2050. package/node_modules/unpdf/dist/types/src/display/editor/drawers/freedraw.d.ts +32 -0
  2051. package/node_modules/unpdf/dist/types/src/display/editor/drawers/highlight.d.ts +37 -0
  2052. package/node_modules/unpdf/dist/types/src/display/editor/drawers/inkdraw.d.ts +129 -0
  2053. package/node_modules/unpdf/dist/types/src/display/editor/drawers/outline.d.ts +19 -0
  2054. package/node_modules/unpdf/dist/types/src/display/editor/drawers/signaturedraw.d.ts +79 -0
  2055. package/node_modules/unpdf/dist/types/src/display/editor/editor.d.ts +575 -0
  2056. package/node_modules/unpdf/dist/types/src/display/editor/freetext.d.ts +63 -0
  2057. package/node_modules/unpdf/dist/types/src/display/editor/highlight.d.ts +76 -0
  2058. package/node_modules/unpdf/dist/types/src/display/editor/ink.d.ts +42 -0
  2059. package/node_modules/unpdf/dist/types/src/display/editor/signature.d.ts +77 -0
  2060. package/node_modules/unpdf/dist/types/src/display/editor/stamp.d.ts +49 -0
  2061. package/node_modules/unpdf/dist/types/src/display/editor/toolbar.d.ts +26 -0
  2062. package/node_modules/unpdf/dist/types/src/display/editor/tools.d.ts +448 -0
  2063. package/node_modules/unpdf/dist/types/src/display/fetch_stream.d.ts +60 -0
  2064. package/node_modules/unpdf/dist/types/src/display/filter_factory.d.ts +29 -0
  2065. package/node_modules/unpdf/dist/types/src/display/font_loader.d.ts +65 -0
  2066. package/node_modules/unpdf/dist/types/src/display/metadata.d.ts +10 -0
  2067. package/node_modules/unpdf/dist/types/src/display/network.d.ts +86 -0
  2068. package/node_modules/unpdf/dist/types/src/display/network_utils.d.ts +15 -0
  2069. package/node_modules/unpdf/dist/types/src/display/node_stream.d.ts +54 -0
  2070. package/node_modules/unpdf/dist/types/src/display/node_utils.d.ts +32 -0
  2071. package/node_modules/unpdf/dist/types/src/display/optional_content_config.d.ts +18 -0
  2072. package/node_modules/unpdf/dist/types/src/display/pattern_helper.d.ts +75 -0
  2073. package/node_modules/unpdf/dist/types/src/display/pdf_objects.d.ts +40 -0
  2074. package/node_modules/unpdf/dist/types/src/display/standard_fontdata_factory.d.ts +20 -0
  2075. package/node_modules/unpdf/dist/types/src/display/svg_factory.d.ts +14 -0
  2076. package/node_modules/unpdf/dist/types/src/display/text_layer.d.ts +85 -0
  2077. package/node_modules/unpdf/dist/types/src/display/touch_manager.d.ts +18 -0
  2078. package/node_modules/unpdf/dist/types/src/display/transport_stream.d.ts +67 -0
  2079. package/node_modules/unpdf/dist/types/src/display/wasm_factory.d.ts +20 -0
  2080. package/node_modules/unpdf/dist/types/src/display/worker_options.d.ts +25 -0
  2081. package/node_modules/unpdf/dist/types/src/display/xfa_layer.d.ts +47 -0
  2082. package/node_modules/unpdf/dist/types/src/display/xfa_text.d.ts +21 -0
  2083. package/node_modules/unpdf/dist/types/src/interfaces.d.ts +122 -0
  2084. package/node_modules/unpdf/dist/types/src/pdf.d.ts +63 -0
  2085. package/node_modules/unpdf/dist/types/src/shared/image_utils.d.ts +17 -0
  2086. package/node_modules/unpdf/dist/types/src/shared/message_handler.d.ts +48 -0
  2087. package/node_modules/unpdf/dist/types/src/shared/murmurhash3.d.ts +7 -0
  2088. package/node_modules/unpdf/dist/types/src/shared/obj-bin-transform.d.ts +64 -0
  2089. package/node_modules/unpdf/dist/types/src/shared/scripting_utils.d.ts +18 -0
  2090. package/node_modules/unpdf/dist/types/src/shared/util.d.ts +415 -0
  2091. package/node_modules/unpdf/dist/types/web/annotation_editor_layer_builder.d.ts +65 -0
  2092. package/node_modules/unpdf/dist/types/web/annotation_layer_builder.d.ts +108 -0
  2093. package/node_modules/unpdf/dist/types/web/app_options.d.ts +16 -0
  2094. package/node_modules/unpdf/dist/types/web/autolinker.d.ts +28 -0
  2095. package/node_modules/unpdf/dist/types/web/base_pdf_page_view.d.ts +28 -0
  2096. package/node_modules/unpdf/dist/types/web/comment_manager.d.ts +20 -0
  2097. package/node_modules/unpdf/dist/types/web/download_manager.d.ts +13 -0
  2098. package/node_modules/unpdf/dist/types/web/draw_layer_builder.d.ts +34 -0
  2099. package/node_modules/unpdf/dist/types/web/event_utils.d.ts +77 -0
  2100. package/node_modules/unpdf/dist/types/web/generic_scripting.d.ts +8 -0
  2101. package/node_modules/unpdf/dist/types/web/genericl10n.d.ts +22 -0
  2102. package/node_modules/unpdf/dist/types/web/interfaces.d.ts +174 -0
  2103. package/node_modules/unpdf/dist/types/web/l10n.d.ts +34 -0
  2104. package/node_modules/unpdf/dist/types/web/pdf_find_controller.d.ts +134 -0
  2105. package/node_modules/unpdf/dist/types/web/pdf_find_utils.d.ts +16 -0
  2106. package/node_modules/unpdf/dist/types/web/pdf_history.d.ts +116 -0
  2107. package/node_modules/unpdf/dist/types/web/pdf_link_service.d.ts +147 -0
  2108. package/node_modules/unpdf/dist/types/web/pdf_page_detail_view.d.ts +33 -0
  2109. package/node_modules/unpdf/dist/types/web/pdf_page_view.d.ts +243 -0
  2110. package/node_modules/unpdf/dist/types/web/pdf_rendering_queue.d.ts +54 -0
  2111. package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.component.d.ts +5 -0
  2112. package/node_modules/unpdf/dist/types/web/pdf_scripting_manager.d.ts +57 -0
  2113. package/node_modules/unpdf/dist/types/web/pdf_single_page_viewer.d.ts +7 -0
  2114. package/node_modules/unpdf/dist/types/web/pdf_thumbnail_view.d.ts +132 -0
  2115. package/node_modules/unpdf/dist/types/web/pdf_thumbnail_viewer.d.ts +117 -0
  2116. package/node_modules/unpdf/dist/types/web/pdf_viewer.component.d.ts +23 -0
  2117. package/node_modules/unpdf/dist/types/web/pdf_viewer.d.ts +616 -0
  2118. package/node_modules/unpdf/dist/types/web/struct_tree_layer_builder.d.ts +25 -0
  2119. package/node_modules/unpdf/dist/types/web/text_accessibility.d.ts +44 -0
  2120. package/node_modules/unpdf/dist/types/web/text_highlighter.d.ts +63 -0
  2121. package/node_modules/unpdf/dist/types/web/text_layer_builder.d.ts +65 -0
  2122. package/node_modules/unpdf/dist/types/web/ui_utils.d.ts +273 -0
  2123. package/node_modules/unpdf/dist/types/web/xfa_layer_builder.d.ts +50 -0
  2124. package/node_modules/unpdf/package.json +92 -0
  2125. package/node_modules/whatwg-encoding/LICENSE.txt +7 -0
  2126. package/node_modules/whatwg-encoding/README.md +50 -0
  2127. package/node_modules/whatwg-encoding/lib/labels-to-names.json +217 -0
  2128. package/node_modules/whatwg-encoding/lib/supported-names.json +38 -0
  2129. package/node_modules/whatwg-encoding/lib/whatwg-encoding.js +60 -0
  2130. package/node_modules/whatwg-encoding/package.json +32 -0
  2131. package/node_modules/whatwg-mimetype/LICENSE.txt +7 -0
  2132. package/node_modules/whatwg-mimetype/README.md +101 -0
  2133. package/node_modules/whatwg-mimetype/lib/mime-type-parameters.js +70 -0
  2134. package/node_modules/whatwg-mimetype/lib/mime-type.js +127 -0
  2135. package/node_modules/whatwg-mimetype/lib/parser.js +105 -0
  2136. package/node_modules/whatwg-mimetype/lib/serializer.js +25 -0
  2137. package/node_modules/whatwg-mimetype/lib/utils.js +60 -0
  2138. package/node_modules/whatwg-mimetype/package.json +45 -0
  2139. package/node_modules/wmf/LICENSE +201 -0
  2140. package/node_modules/wmf/README.md +92 -0
  2141. package/node_modules/wmf/dist/wmf.js +2 -0
  2142. package/node_modules/wmf/dist/wmf.js.map +1 -0
  2143. package/node_modules/wmf/dist/wmf.node.js +2 -0
  2144. package/node_modules/wmf/dist/wmf.node.js.map +1 -0
  2145. package/node_modules/wmf/package.json +68 -0
  2146. package/node_modules/word/CONTRIBUTING.md +61 -0
  2147. package/node_modules/word/LICENSE +201 -0
  2148. package/node_modules/word/README.md +2 -0
  2149. package/node_modules/word/package.json +29 -0
  2150. package/node_modules/word/word.js +1 -0
  2151. package/node_modules/xlsx/CHANGELOG.md +264 -0
  2152. package/node_modules/xlsx/LICENSE +201 -0
  2153. package/node_modules/xlsx/README.md +4504 -0
  2154. package/node_modules/xlsx/bin/xlsx.njs +310 -0
  2155. package/node_modules/xlsx/bower.json +22 -0
  2156. package/node_modules/xlsx/dist/LICENSE +201 -0
  2157. package/node_modules/xlsx/dist/cpexcel.full.mjs +1502 -0
  2158. package/node_modules/xlsx/dist/cpexcel.js +1506 -0
  2159. package/node_modules/xlsx/dist/shim.min.js +2 -0
  2160. package/node_modules/xlsx/dist/xlsx.core.min.js +15 -0
  2161. package/node_modules/xlsx/dist/xlsx.core.min.map +1 -0
  2162. package/node_modules/xlsx/dist/xlsx.extendscript.js +24642 -0
  2163. package/node_modules/xlsx/dist/xlsx.full.min.js +22 -0
  2164. package/node_modules/xlsx/dist/xlsx.full.min.map +1 -0
  2165. package/node_modules/xlsx/dist/xlsx.mini.min.js +9 -0
  2166. package/node_modules/xlsx/dist/xlsx.mini.min.map +1 -0
  2167. package/node_modules/xlsx/dist/xlsx.zahl.js +4 -0
  2168. package/node_modules/xlsx/dist/xlsx.zahl.mjs +2 -0
  2169. package/node_modules/xlsx/formats.png +0 -0
  2170. package/node_modules/xlsx/legend.png +0 -0
  2171. package/node_modules/xlsx/package.json +101 -0
  2172. package/node_modules/xlsx/types/index.d.ts +900 -0
  2173. package/node_modules/xlsx/types/tsconfig.json +15 -0
  2174. package/node_modules/xlsx/xlsx.js +24486 -0
  2175. package/node_modules/xlsx/xlsx.mjs +24597 -0
  2176. package/node_modules/xlsx/xlsxworker.js +14 -0
  2177. package/node_modules/xml2js/LICENSE +19 -0
  2178. package/node_modules/xml2js/README.md +507 -0
  2179. package/node_modules/xml2js/lib/bom.js +12 -0
  2180. package/node_modules/xml2js/lib/builder.js +127 -0
  2181. package/node_modules/xml2js/lib/defaults.js +72 -0
  2182. package/node_modules/xml2js/lib/parser.js +395 -0
  2183. package/node_modules/xml2js/lib/processors.js +34 -0
  2184. package/node_modules/xml2js/lib/xml2js.bc.js +28337 -0
  2185. package/node_modules/xml2js/lib/xml2js.js +39 -0
  2186. package/node_modules/xml2js/node_modules/xmlbuilder/CHANGELOG.md +470 -0
  2187. package/node_modules/xml2js/node_modules/xmlbuilder/LICENSE +21 -0
  2188. package/node_modules/xml2js/node_modules/xmlbuilder/README.md +86 -0
  2189. package/node_modules/xml2js/node_modules/xmlbuilder/appveyor.yml +20 -0
  2190. package/node_modules/xml2js/node_modules/xmlbuilder/lib/Derivation.js +10 -0
  2191. package/node_modules/xml2js/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
  2192. package/node_modules/xml2js/node_modules/xmlbuilder/lib/NodeType.js +23 -0
  2193. package/node_modules/xml2js/node_modules/xmlbuilder/lib/OperationType.js +11 -0
  2194. package/node_modules/xml2js/node_modules/xmlbuilder/lib/Utility.js +83 -0
  2195. package/node_modules/xml2js/node_modules/xmlbuilder/lib/WriterState.js +10 -0
  2196. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLAttribute.js +108 -0
  2197. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLCData.js +36 -0
  2198. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLCharacterData.js +79 -0
  2199. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLComment.js +36 -0
  2200. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +64 -0
  2201. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +16 -0
  2202. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +32 -0
  2203. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDOMStringList.js +28 -0
  2204. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDAttList.js +55 -0
  2205. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDElement.js +38 -0
  2206. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDEntity.js +97 -0
  2207. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDTDNotation.js +52 -0
  2208. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDeclaration.js +43 -0
  2209. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocType.js +186 -0
  2210. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocument.js +242 -0
  2211. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocumentCB.js +528 -0
  2212. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +24 -0
  2213. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLDummy.js +31 -0
  2214. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLElement.js +298 -0
  2215. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +58 -0
  2216. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNode.js +785 -0
  2217. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNodeFilter.js +48 -0
  2218. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLNodeList.js +28 -0
  2219. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +49 -0
  2220. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLRaw.js +35 -0
  2221. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStreamWriter.js +176 -0
  2222. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStringWriter.js +35 -0
  2223. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLStringifier.js +240 -0
  2224. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLText.js +69 -0
  2225. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLTypeInfo.js +21 -0
  2226. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +16 -0
  2227. package/node_modules/xml2js/node_modules/xmlbuilder/lib/XMLWriterBase.js +428 -0
  2228. package/node_modules/xml2js/node_modules/xmlbuilder/lib/index.js +65 -0
  2229. package/node_modules/xml2js/node_modules/xmlbuilder/package.json +39 -0
  2230. package/node_modules/xml2js/node_modules/xmlbuilder/typings/index.d.ts +153 -0
  2231. package/node_modules/xml2js/package.json +93 -0
  2232. package/package.json +53 -3
@@ -0,0 +1,2840 @@
1
+ var chai;
2
+ var Papa;
3
+ if (typeof module !== 'undefined' && module.exports) {
4
+ chai = require('chai');
5
+ Papa = require('../papaparse.js');
6
+ }
7
+
8
+ var assert = chai.assert;
9
+
10
+ var BASE_PATH = (typeof document === 'undefined') ? './' : document.getElementById('test-cases').src.replace(/test-cases\.js$/, '');
11
+ var RECORD_SEP = String.fromCharCode(30);
12
+ var UNIT_SEP = String.fromCharCode(31);
13
+ var FILES_ENABLED = false;
14
+ try {
15
+ new File([""], ""); // eslint-disable-line no-new
16
+ FILES_ENABLED = true;
17
+ } catch (e) {} // safari, ie
18
+
19
+ var XHR_ENABLED = false;
20
+ try {
21
+ new XMLHttpRequest(); // eslint-disable-line no-new
22
+ XHR_ENABLED = true;
23
+ } catch (e) {} // safari, ie
24
+
25
+ // Tests for the core parser using new Papa.Parser().parse() (CSV to JSON)
26
+ var CORE_PARSER_TESTS = [
27
+ {
28
+ description: "One row",
29
+ input: 'A,b,c',
30
+ expected: {
31
+ data: [['A', 'b', 'c']],
32
+ errors: [],
33
+ meta: {delimiter: ',', renamedHeaders: null}
34
+ }
35
+ },
36
+ {
37
+ description: "Two rows",
38
+ input: 'A,b,c\nd,E,f',
39
+ expected: {
40
+ data: [['A', 'b', 'c'], ['d', 'E', 'f']],
41
+ errors: []
42
+ }
43
+ },
44
+ {
45
+ description: "Three rows",
46
+ input: 'A,b,c\nd,E,f\nG,h,i',
47
+ expected: {
48
+ data: [['A', 'b', 'c'], ['d', 'E', 'f'], ['G', 'h', 'i']],
49
+ errors: []
50
+ }
51
+ },
52
+ {
53
+ description: "Whitespace at edges of unquoted field",
54
+ input: 'a, b ,c',
55
+ notes: "Extra whitespace should graciously be preserved",
56
+ expected: {
57
+ data: [['a', ' b ', 'c']],
58
+ errors: []
59
+ }
60
+ },
61
+ {
62
+ description: "Quoted field",
63
+ input: 'A,"B",C',
64
+ expected: {
65
+ data: [['A', 'B', 'C']],
66
+ errors: []
67
+ }
68
+ },
69
+ {
70
+ description: "Quoted field with extra whitespace on edges",
71
+ input: 'A," B ",C',
72
+ expected: {
73
+ data: [['A', ' B ', 'C']],
74
+ errors: []
75
+ }
76
+ },
77
+ {
78
+ description: "Quoted field with delimiter",
79
+ input: 'A,"B,B",C',
80
+ expected: {
81
+ data: [['A', 'B,B', 'C']],
82
+ errors: []
83
+ }
84
+ },
85
+ {
86
+ description: "Quoted field with line break",
87
+ input: 'A,"B\nB",C',
88
+ expected: {
89
+ data: [['A', 'B\nB', 'C']],
90
+ errors: []
91
+ }
92
+ },
93
+ {
94
+ description: "Quoted fields with line breaks",
95
+ input: 'A,"B\nB","C\nC\nC"',
96
+ expected: {
97
+ data: [['A', 'B\nB', 'C\nC\nC']],
98
+ errors: []
99
+ }
100
+ },
101
+ {
102
+ description: "Quoted fields at end of row with delimiter and line break",
103
+ input: 'a,b,"c,c\nc"\nd,e,f',
104
+ expected: {
105
+ data: [['a', 'b', 'c,c\nc'], ['d', 'e', 'f']],
106
+ errors: []
107
+ }
108
+ },
109
+ {
110
+ description: "Quoted field with escaped quotes",
111
+ input: 'A,"B""B""B",C',
112
+ expected: {
113
+ data: [['A', 'B"B"B', 'C']],
114
+ errors: []
115
+ }
116
+ },
117
+ {
118
+ description: "Quoted field with escaped quotes at boundaries",
119
+ input: 'A,"""B""",C',
120
+ expected: {
121
+ data: [['A', '"B"', 'C']],
122
+ errors: []
123
+ }
124
+ },
125
+ {
126
+ description: "Unquoted field with quotes at end of field",
127
+ notes: "The quotes character is misplaced, but shouldn't generate an error or break the parser",
128
+ input: 'A,B",C',
129
+ expected: {
130
+ data: [['A', 'B"', 'C']],
131
+ errors: []
132
+ }
133
+ },
134
+ {
135
+ description: "Quoted field with quotes around delimiter",
136
+ input: 'A,""",""",C',
137
+ notes: "For a boundary to exist immediately before the quotes, we must not already be in quotes",
138
+ expected: {
139
+ data: [['A', '","', 'C']],
140
+ errors: []
141
+ }
142
+ },
143
+ {
144
+ description: "Quoted field with quotes on right side of delimiter",
145
+ input: 'A,",""",C',
146
+ notes: "Similar to the test above but with quotes only after the comma",
147
+ expected: {
148
+ data: [['A', ',"', 'C']],
149
+ errors: []
150
+ }
151
+ },
152
+ {
153
+ description: "Quoted field with quotes on left side of delimiter",
154
+ input: 'A,""",",C',
155
+ notes: "Similar to the test above but with quotes only before the comma",
156
+ expected: {
157
+ data: [['A', '",', 'C']],
158
+ errors: []
159
+ }
160
+ },
161
+ {
162
+ description: "Quoted field with 5 quotes in a row and a delimiter in there, too",
163
+ input: '"1","cnonce="""",nc=""""","2"',
164
+ notes: "Actual input reported in issue #121",
165
+ expected: {
166
+ data: [['1', 'cnonce="",nc=""', '2']],
167
+ errors: []
168
+ }
169
+ },
170
+ {
171
+ description: "Quoted field with whitespace around quotes",
172
+ input: 'A, "B" ,C',
173
+ notes: "The quotes must be immediately adjacent to the delimiter to indicate a quoted field",
174
+ expected: {
175
+ data: [['A', ' "B" ', 'C']],
176
+ errors: []
177
+ }
178
+ },
179
+ {
180
+ description: "Misplaced quotes in data, not as opening quotes",
181
+ input: 'A,B "B",C',
182
+ notes: "The input is technically malformed, but this syntax should not cause an error",
183
+ expected: {
184
+ data: [['A', 'B "B"', 'C']],
185
+ errors: []
186
+ }
187
+ },
188
+ {
189
+ description: "Quoted field has no closing quote",
190
+ input: 'a,"b,c\nd,e,f',
191
+ expected: {
192
+ data: [['a', 'b,c\nd,e,f']],
193
+ errors: [{
194
+ "type": "Quotes",
195
+ "code": "MissingQuotes",
196
+ "message": "Quoted field unterminated",
197
+ "row": 0,
198
+ "index": 3
199
+ }]
200
+ }
201
+ },
202
+ {
203
+ description: "Quoted field has invalid trailing quote after delimiter with a valid closer",
204
+ input: '"a,"b,c"\nd,e,f',
205
+ notes: "The input is malformed, opening quotes identified, trailing quote is malformed. Trailing quote should be escaped or followed by valid new line or delimiter to be valid",
206
+ expected: {
207
+ data: [['a,"b,c'], ['d', 'e', 'f']],
208
+ errors: [{
209
+ "type": "Quotes",
210
+ "code": "InvalidQuotes",
211
+ "message": "Trailing quote on quoted field is malformed",
212
+ "row": 0,
213
+ "index": 1
214
+ }]
215
+ }
216
+ },
217
+ {
218
+ description: "Quoted field has invalid trailing quote after delimiter",
219
+ input: 'a,"b,"c\nd,e,f',
220
+ notes: "The input is malformed, opening quotes identified, trailing quote is malformed. Trailing quote should be escaped or followed by valid new line or delimiter to be valid",
221
+ expected: {
222
+ data: [['a', 'b,"c\nd,e,f']],
223
+ errors: [{
224
+ "type": "Quotes",
225
+ "code": "InvalidQuotes",
226
+ "message": "Trailing quote on quoted field is malformed",
227
+ "row": 0,
228
+ "index": 3
229
+ },
230
+ {
231
+ "type": "Quotes",
232
+ "code": "MissingQuotes",
233
+ "message": "Quoted field unterminated",
234
+ "row": 0,
235
+ "index": 3
236
+ }]
237
+ }
238
+ },
239
+ {
240
+ description: "Quoted field has invalid trailing quote before delimiter",
241
+ input: 'a,"b"c,d\ne,f,g',
242
+ notes: "The input is malformed, opening quotes identified, trailing quote is malformed. Trailing quote should be escaped or followed by valid new line or delimiter to be valid",
243
+ expected: {
244
+ data: [['a', 'b"c,d\ne,f,g']],
245
+ errors: [{
246
+ "type": "Quotes",
247
+ "code": "InvalidQuotes",
248
+ "message": "Trailing quote on quoted field is malformed",
249
+ "row": 0,
250
+ "index": 3
251
+ },
252
+ {
253
+ "type": "Quotes",
254
+ "code": "MissingQuotes",
255
+ "message": "Quoted field unterminated",
256
+ "row": 0,
257
+ "index": 3
258
+ }]
259
+ }
260
+ },
261
+ {
262
+ description: "Quoted field has invalid trailing quote after new line",
263
+ input: 'a,"b,c\nd"e,f,g',
264
+ notes: "The input is malformed, opening quotes identified, trailing quote is malformed. Trailing quote should be escaped or followed by valid new line or delimiter to be valid",
265
+ expected: {
266
+ data: [['a', 'b,c\nd"e,f,g']],
267
+ errors: [{
268
+ "type": "Quotes",
269
+ "code": "InvalidQuotes",
270
+ "message": "Trailing quote on quoted field is malformed",
271
+ "row": 0,
272
+ "index": 3
273
+ },
274
+ {
275
+ "type": "Quotes",
276
+ "code": "MissingQuotes",
277
+ "message": "Quoted field unterminated",
278
+ "row": 0,
279
+ "index": 3
280
+ }]
281
+ }
282
+ },
283
+ {
284
+ description: "Quoted field has valid trailing quote via delimiter",
285
+ input: 'a,"b",c\nd,e,f',
286
+ notes: "Trailing quote is valid due to trailing delimiter",
287
+ expected: {
288
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
289
+ errors: []
290
+ }
291
+ },
292
+ {
293
+ description: "Quoted field has valid trailing quote via \\n",
294
+ input: 'a,b,"c"\nd,e,f',
295
+ notes: "Trailing quote is valid due to trailing new line delimiter",
296
+ expected: {
297
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
298
+ errors: []
299
+ }
300
+ },
301
+ {
302
+ description: "Quoted field has valid trailing quote via EOF",
303
+ input: 'a,b,c\nd,e,"f"',
304
+ notes: "Trailing quote is valid due to EOF",
305
+ expected: {
306
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
307
+ errors: []
308
+ }
309
+ },
310
+ {
311
+ description: "Quoted field contains delimiters and \\n with valid trailing quote",
312
+ input: 'a,"b,c\nd,e,f"',
313
+ notes: "Trailing quote is valid due to trailing delimiter",
314
+ expected: {
315
+ data: [['a', 'b,c\nd,e,f']],
316
+ errors: []
317
+ }
318
+ },
319
+ {
320
+ description: "Line starts with quoted field",
321
+ input: 'a,b,c\n"d",e,f',
322
+ expected: {
323
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
324
+ errors: []
325
+ }
326
+ },
327
+ {
328
+ description: "Line starts with unquoted empty field",
329
+ input: ',b,c\n"d",e,f',
330
+ expected: {
331
+ data: [['', 'b', 'c'], ['d', 'e', 'f']],
332
+ errors: []
333
+ }
334
+ },
335
+ {
336
+ description: "Line ends with quoted field",
337
+ input: 'a,b,c\nd,e,f\n"g","h","i"\n"j","k","l"',
338
+ expected: {
339
+ data: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'], ['j', 'k', 'l']],
340
+ errors: []
341
+ }
342
+ },
343
+ {
344
+ description: "Line ends with quoted field, first field of next line is empty, \\n",
345
+ input: 'a,b,c\n,e,f\n,"h","i"\n,"k","l"',
346
+ config: {
347
+ newline: '\n',
348
+ },
349
+ expected: {
350
+ data: [['a', 'b', 'c'], ['', 'e', 'f'], ['', 'h', 'i'], ['', 'k', 'l']],
351
+ errors: []
352
+ }
353
+ },
354
+ {
355
+ description: "Quoted field at end of row (but not at EOF) has quotes",
356
+ input: 'a,b,"c""c"""\nd,e,f',
357
+ expected: {
358
+ data: [['a', 'b', 'c"c"'], ['d', 'e', 'f']],
359
+ errors: []
360
+ }
361
+ },
362
+ {
363
+ description: "Empty quoted field at EOF is empty",
364
+ input: 'a,b,""\na,b,""',
365
+ expected: {
366
+ data: [['a', 'b', ''], ['a', 'b', '']],
367
+ errors: []
368
+ }
369
+ },
370
+ {
371
+ description: "Multiple consecutive empty fields",
372
+ input: 'a,b,,,c,d\n,,e,,,f',
373
+ expected: {
374
+ data: [['a', 'b', '', '', 'c', 'd'], ['', '', 'e', '', '', 'f']],
375
+ errors: []
376
+ }
377
+ },
378
+ {
379
+ description: "Empty input string",
380
+ input: '',
381
+ expected: {
382
+ data: [],
383
+ errors: []
384
+ }
385
+ },
386
+ {
387
+ description: "Input is just the delimiter (2 empty fields)",
388
+ input: ',',
389
+ expected: {
390
+ data: [['', '']],
391
+ errors: []
392
+ }
393
+ },
394
+ {
395
+ description: "Input is just empty fields",
396
+ input: ',,\n,,,',
397
+ expected: {
398
+ data: [['', '', ''], ['', '', '', '']],
399
+ errors: []
400
+ }
401
+ },
402
+ {
403
+ description: "Input is just a string (a single field)",
404
+ input: 'Abc def',
405
+ expected: {
406
+ data: [['Abc def']],
407
+ errors: []
408
+ }
409
+ },
410
+ {
411
+ description: "Commented line at beginning",
412
+ input: '# Comment!\na,b,c',
413
+ config: { comments: true },
414
+ expected: {
415
+ data: [['a', 'b', 'c']],
416
+ errors: []
417
+ }
418
+ },
419
+ {
420
+ description: "Commented line in middle",
421
+ input: 'a,b,c\n# Comment\nd,e,f',
422
+ config: { comments: true },
423
+ expected: {
424
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
425
+ errors: []
426
+ }
427
+ },
428
+ {
429
+ description: "Commented line at end",
430
+ input: 'a,true,false\n# Comment',
431
+ config: { comments: true },
432
+ expected: {
433
+ data: [['a', 'true', 'false']],
434
+ errors: []
435
+ }
436
+ },
437
+ {
438
+ description: "Two comment lines consecutively",
439
+ input: 'a,b,c\n#comment1\n#comment2\nd,e,f',
440
+ config: { comments: true },
441
+ expected: {
442
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
443
+ errors: []
444
+ }
445
+ },
446
+ {
447
+ description: "Two comment lines consecutively at end of file",
448
+ input: 'a,b,c\n#comment1\n#comment2',
449
+ config: { comments: true },
450
+ expected: {
451
+ data: [['a', 'b', 'c']],
452
+ errors: []
453
+ }
454
+ },
455
+ {
456
+ description: "Three comment lines consecutively at beginning of file",
457
+ input: '#comment1\n#comment2\n#comment3\na,b,c',
458
+ config: { comments: true },
459
+ expected: {
460
+ data: [['a', 'b', 'c']],
461
+ errors: []
462
+ }
463
+ },
464
+ {
465
+ description: "Entire file is comment lines",
466
+ input: '#comment1\n#comment2\n#comment3',
467
+ config: { comments: true },
468
+ expected: {
469
+ data: [],
470
+ errors: []
471
+ }
472
+ },
473
+ {
474
+ description: "Comment with non-default character",
475
+ input: 'a,b,c\n!Comment goes here\nd,e,f',
476
+ config: { comments: '!' },
477
+ expected: {
478
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
479
+ errors: []
480
+ }
481
+ },
482
+ {
483
+ description: "Bad comments value specified",
484
+ notes: "Should silently disable comment parsing",
485
+ input: 'a,b,c\n5comment\nd,e,f',
486
+ config: { comments: 5 },
487
+ expected: {
488
+ data: [['a', 'b', 'c'], ['5comment'], ['d', 'e', 'f']],
489
+ errors: []
490
+ }
491
+ },
492
+ {
493
+ description: "Multi-character comment string",
494
+ input: 'a,b,c\n=N(Comment)\nd,e,f',
495
+ config: { comments: "=N(" },
496
+ expected: {
497
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
498
+ errors: []
499
+ }
500
+ },
501
+ {
502
+ description: "Input with only a commented line",
503
+ input: '#commented line',
504
+ config: { comments: true, delimiter: ',' },
505
+ expected: {
506
+ data: [],
507
+ errors: []
508
+ }
509
+ },
510
+ {
511
+ description: "Input with only a commented line and blank line after",
512
+ input: '#commented line\n',
513
+ config: { comments: true, delimiter: ',' },
514
+ expected: {
515
+ data: [['']],
516
+ errors: []
517
+ }
518
+ },
519
+ {
520
+ description: "Input with only a commented line, without comments enabled",
521
+ input: '#commented line',
522
+ config: { delimiter: ',' },
523
+ expected: {
524
+ data: [['#commented line']],
525
+ errors: []
526
+ }
527
+ },
528
+ {
529
+ description: "Input without comments with line starting with whitespace",
530
+ input: 'a\n b\nc',
531
+ config: { delimiter: ',' },
532
+ notes: "\" \" == false, but \" \" !== false, so === comparison is required",
533
+ expected: {
534
+ data: [['a'], [' b'], ['c']],
535
+ errors: []
536
+ }
537
+ },
538
+ {
539
+ description: "Multiple rows, one column (no delimiter found)",
540
+ input: 'a\nb\nc\nd\ne',
541
+ expected: {
542
+ data: [['a'], ['b'], ['c'], ['d'], ['e']],
543
+ errors: []
544
+ }
545
+ },
546
+ {
547
+ description: "One column input with empty fields",
548
+ input: 'a\nb\n\n\nc\nd\ne\n',
549
+ expected: {
550
+ data: [['a'], ['b'], [''], [''], ['c'], ['d'], ['e'], ['']],
551
+ errors: []
552
+ }
553
+ },
554
+ {
555
+ description: "Fast mode, basic",
556
+ input: 'a,b,c\nd,e,f',
557
+ config: { fastMode: true },
558
+ expected: {
559
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
560
+ errors: []
561
+ }
562
+ },
563
+ {
564
+ description: "Fast mode with comments",
565
+ input: '// Commented line\na,b,c',
566
+ config: { fastMode: true, comments: "//" },
567
+ expected: {
568
+ data: [['a', 'b', 'c']],
569
+ errors: []
570
+ }
571
+ },
572
+ {
573
+ description: "Fast mode with preview",
574
+ input: 'a,b,c\nd,e,f\nh,j,i\n',
575
+ config: { fastMode: true, preview: 2 },
576
+ expected: {
577
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
578
+ errors: []
579
+ }
580
+ },
581
+ {
582
+ description: "Fast mode with blank line at end",
583
+ input: 'a,b,c\n',
584
+ config: { fastMode: true },
585
+ expected: {
586
+ data: [['a', 'b', 'c'], ['']],
587
+ errors: []
588
+ }
589
+ },
590
+ {
591
+ description: "Simple duplicated header names",
592
+ input: 'A,A,A,A\n1,2,3,4',
593
+ config: { header: true },
594
+ expected: {
595
+ data: [['A', 'A_1', 'A_2', 'A_3'], ['1', '2', '3', '4']],
596
+ errors: [],
597
+ meta: {
598
+ renamedHeaders: {A_1: 'A', A_2: 'A', A_3: 'A'},
599
+ cursor: 15
600
+ }
601
+ }
602
+ },
603
+ {
604
+ description: "Duplicated header names with headerTransform",
605
+ input: 'A,A,A,A\n1,2,3,4',
606
+ config: { header: true, transformHeader: function(header) { return header.toLowerCase(); } },
607
+ expected: {
608
+ data: [['a', 'a_1', 'a_2', 'a_3'], ['1', '2', '3', '4']],
609
+ errors: [],
610
+ meta: {
611
+ renamedHeaders: {a_1: 'a', a_2: 'a', a_3: 'a'},
612
+ cursor: 15
613
+ }
614
+ }
615
+ },
616
+ {
617
+ description: "Duplicated header names existing column",
618
+ input: 'c,c,c,c_1\n1,2,3,4',
619
+ config: { header: true },
620
+ expected: {
621
+ data: [['c', 'c_2', 'c_3', 'c_1'], ['1', '2', '3', '4']],
622
+ errors: [],
623
+ meta: {
624
+ renamedHeaders: {c_2: 'c', c_3: 'c'},
625
+ cursor: 17
626
+ }
627
+ }
628
+ },
629
+ {
630
+ description: "Duplicate header names with __proto__ field",
631
+ input: '__proto__,__proto__,__proto__\n1,2,3',
632
+ config: { header: true },
633
+ expected: {
634
+ data: [['__proto__', '__proto___1', '__proto___2'], ['1', '2', '3']],
635
+ errors: [],
636
+ meta: {
637
+ renamedHeaders: {__proto___1: '__proto__', __proto___2: '__proto__'},
638
+ cursor: 35
639
+ }
640
+ }
641
+ },
642
+ ];
643
+
644
+ describe('Core Parser Tests', function() {
645
+ function generateTest(test) {
646
+ (test.disabled ? it.skip : it)(test.description, function() {
647
+ var actual = new Papa.Parser(test.config).parse(test.input);
648
+ assert.deepEqual(actual.errors, test.expected.errors);
649
+ assert.deepEqual(actual.data, test.expected.data);
650
+ assert.deepNestedInclude(actual.meta, test.expected.meta || {});
651
+ });
652
+ }
653
+
654
+ for (var i = 0; i < CORE_PARSER_TESTS.length; i++) {
655
+ generateTest(CORE_PARSER_TESTS[i]);
656
+ }
657
+ });
658
+
659
+
660
+
661
+ // Tests for Papa.parse() function -- high-level wrapped parser (CSV to JSON)
662
+ var PARSE_TESTS = [
663
+ {
664
+ description: "Two rows, just \\r",
665
+ input: 'A,b,c\rd,E,f',
666
+ expected: {
667
+ data: [['A', 'b', 'c'], ['d', 'E', 'f']],
668
+ errors: []
669
+ }
670
+ },
671
+ {
672
+ description: "Two rows, \\r\\n",
673
+ input: 'A,b,c\r\nd,E,f',
674
+ expected: {
675
+ data: [['A', 'b', 'c'], ['d', 'E', 'f']],
676
+ errors: []
677
+ }
678
+ },
679
+ {
680
+ description: "Quoted field with \\r\\n",
681
+ input: 'A,"B\r\nB",C',
682
+ expected: {
683
+ data: [['A', 'B\r\nB', 'C']],
684
+ errors: []
685
+ }
686
+ },
687
+ {
688
+ description: "Quoted field with \\r",
689
+ input: 'A,"B\rB",C',
690
+ expected: {
691
+ data: [['A', 'B\rB', 'C']],
692
+ errors: []
693
+ }
694
+ },
695
+ {
696
+ description: "Quoted field with \\n",
697
+ input: 'A,"B\nB",C',
698
+ expected: {
699
+ data: [['A', 'B\nB', 'C']],
700
+ errors: []
701
+ }
702
+ },
703
+ {
704
+ description: "Quoted fields with spaces between closing quote and next delimiter",
705
+ input: 'A,"B" ,C,D\r\nE,F,"G" ,H',
706
+ expected: {
707
+ data: [['A', 'B', 'C','D'],['E', 'F', 'G','H']],
708
+ errors: []
709
+ }
710
+ },
711
+ {
712
+ description: "Quoted fields with spaces between closing quote and next new line",
713
+ input: 'A,B,C,"D" \r\nE,F,G,"H" \r\nQ,W,E,R',
714
+ expected: {
715
+ data: [['A', 'B', 'C','D'],['E', 'F', 'G','H'],['Q', 'W', 'E','R']],
716
+ errors: []
717
+ }
718
+ },
719
+ {
720
+ description: "Quoted fields with spaces after closing quote",
721
+ input: 'A,"B" ,C,"D" \r\nE,F,"G" ,"H" \r\nQ,W,"E" ,R',
722
+ expected: {
723
+ data: [['A', 'B', 'C','D'],['E', 'F', 'G','H'],['Q', 'W', 'E','R']],
724
+ errors: []
725
+ }
726
+ },
727
+ {
728
+ description: "Misplaced quotes in data twice, not as opening quotes",
729
+ input: 'A,B",C\nD,E",F',
730
+ expected: {
731
+ data: [['A', 'B"', 'C'], ['D', 'E"', 'F']],
732
+ errors: []
733
+ }
734
+ },
735
+ {
736
+ description: "Mixed slash n and slash r should choose first as precident",
737
+ input: 'a,b,c\nd,e,f\rg,h,i\n',
738
+ expected: {
739
+ data: [['a', 'b', 'c'], ['d', 'e', 'f\rg', 'h', 'i'], ['']],
740
+ errors: []
741
+ }
742
+ },
743
+ {
744
+ description: "Header row with one row of data",
745
+ input: 'A,B,C\r\na,b,c',
746
+ config: { header: true },
747
+ expected: {
748
+ data: [{"A": "a", "B": "b", "C": "c"}],
749
+ errors: []
750
+ }
751
+ },
752
+ {
753
+ description: "Header row only",
754
+ input: 'A,B,C',
755
+ config: { header: true },
756
+ expected: {
757
+ data: [],
758
+ errors: []
759
+ }
760
+ },
761
+ {
762
+ description: "Row with too few fields",
763
+ input: 'A,B,C\r\na,b',
764
+ config: { header: true },
765
+ expected: {
766
+ data: [{"A": "a", "B": "b"}],
767
+ errors: [{
768
+ "type": "FieldMismatch",
769
+ "code": "TooFewFields",
770
+ "message": "Too few fields: expected 3 fields but parsed 2",
771
+ "row": 0
772
+ }]
773
+ }
774
+ },
775
+ {
776
+ description: "Row with too many fields",
777
+ input: 'A,B,C\r\na,b,c,d,e\r\nf,g,h',
778
+ config: { header: true },
779
+ expected: {
780
+ data: [{"A": "a", "B": "b", "C": "c", "__parsed_extra": ["d", "e"]}, {"A": "f", "B": "g", "C": "h"}],
781
+ errors: [{
782
+ "type": "FieldMismatch",
783
+ "code": "TooManyFields",
784
+ "message": "Too many fields: expected 3 fields but parsed 5",
785
+ "row": 0
786
+ }]
787
+ }
788
+ },
789
+ {
790
+ description: "Row with enough fields but blank field in the begining",
791
+ input: 'A,B,C\r\n,b1,c1\r\na2,b2,c2',
792
+ expected: {
793
+ data: [["A", "B", "C"], ['', 'b1', 'c1'], ['a2', 'b2', 'c2']],
794
+ errors: []
795
+ }
796
+ },
797
+ {
798
+ description: "Row with enough fields but blank field in the begining using headers",
799
+ input: 'A,B,C\r\n,b1,c1\r\n,b2,c2',
800
+ config: { header: true },
801
+ expected: {
802
+ data: [{"A": "", "B": "b1", "C": "c1"}, {"A": "", "B": "b2", "C": "c2"}],
803
+ errors: []
804
+ }
805
+ },
806
+ {
807
+ description: "Row with enough fields but blank field at end",
808
+ input: 'A,B,C\r\na,b,',
809
+ config: { header: true },
810
+ expected: {
811
+ data: [{"A": "a", "B": "b", "C": ""}],
812
+ errors: []
813
+ }
814
+ },
815
+ {
816
+ description: "Header rows are transformed when transformHeader function is provided",
817
+ input: 'A,B,C\r\na,b,c',
818
+ config: { header: true, transformHeader: function(header) { return header.toLowerCase(); } },
819
+ expected: {
820
+ data: [{"a": "a", "b": "b", "c": "c"}],
821
+ errors: []
822
+ }
823
+ },
824
+ {
825
+ description: "transformHeader accepts and optional index attribute",
826
+ input: 'A,B,C\r\na,b,c',
827
+ config: { header: true, transformHeader: function(header, i) { return i % 2 ? header.toLowerCase() : header; } },
828
+ expected: {
829
+ data: [{"A": "a", "b": "b", "C": "c"}],
830
+ errors: []
831
+ }
832
+ },
833
+ {
834
+ description: "Line ends with quoted field, first field of next line is empty using headers",
835
+ input: 'a,b,"c"\r\nd,e,"f"\r\n,"h","i"\r\n,"k","l"',
836
+ config: {
837
+ header: true,
838
+ newline: '\r\n',
839
+ },
840
+ expected: {
841
+ data: [
842
+ {a: 'd', b: 'e', c: 'f'},
843
+ {a: '', b: 'h', c: 'i'},
844
+ {a: '', b: 'k', c: 'l'}
845
+ ],
846
+ errors: []
847
+ }
848
+ },
849
+ {
850
+ description: "Tab delimiter",
851
+ input: 'a\tb\tc\r\nd\te\tf',
852
+ config: { delimiter: "\t" },
853
+ expected: {
854
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
855
+ errors: []
856
+ }
857
+ },
858
+ {
859
+ description: "Pipe delimiter",
860
+ input: 'a|b|c\r\nd|e|f',
861
+ config: { delimiter: "|" },
862
+ expected: {
863
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
864
+ errors: []
865
+ }
866
+ },
867
+ {
868
+ description: "ASCII 30 delimiter",
869
+ input: 'a' + RECORD_SEP + 'b' + RECORD_SEP + 'c\r\nd' + RECORD_SEP + 'e' + RECORD_SEP + 'f',
870
+ config: { delimiter: RECORD_SEP },
871
+ expected: {
872
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
873
+ errors: []
874
+ }
875
+ },
876
+ {
877
+ description: "ASCII 31 delimiter",
878
+ input: 'a' + UNIT_SEP + 'b' + UNIT_SEP + 'c\r\nd' + UNIT_SEP + 'e' + UNIT_SEP + 'f',
879
+ config: { delimiter: UNIT_SEP },
880
+ expected: {
881
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
882
+ errors: []
883
+ }
884
+ },
885
+ {
886
+ description: "Bad delimiter (\\n)",
887
+ input: 'a,b,c',
888
+ config: { delimiter: "\n" },
889
+ notes: "Should silently default to comma",
890
+ expected: {
891
+ data: [['a', 'b', 'c']],
892
+ errors: []
893
+ }
894
+ },
895
+ {
896
+ description: "Multi-character delimiter",
897
+ input: 'a, b, c',
898
+ config: { delimiter: ", " },
899
+ expected: {
900
+ data: [['a', 'b', 'c']],
901
+ errors: []
902
+ }
903
+ },
904
+ {
905
+ description: "Multi-character delimiter (length 2) with quoted field",
906
+ input: 'a, b, "c, e", d',
907
+ config: { delimiter: ", " },
908
+ notes: "The quotes must be immediately adjacent to the delimiter to indicate a quoted field",
909
+ expected: {
910
+ data: [['a', 'b', 'c, e', 'd']],
911
+ errors: []
912
+ }
913
+ },
914
+ {
915
+ description: "Callback delimiter",
916
+ input: 'a$ b$ c',
917
+ config: { delimiter: function(input) { return input[1] + ' '; } },
918
+ expected: {
919
+ data: [['a', 'b', 'c']],
920
+ errors: []
921
+ }
922
+ },
923
+ {
924
+ description: "Dynamic typing converts numeric literals and maintains precision",
925
+ input: '1,2.2,1e3\r\n-4,-4.5,-4e-5\r\n-,5a,5-2\r\n16142028098527942586,9007199254740991,-9007199254740992',
926
+ config: { dynamicTyping: true },
927
+ expected: {
928
+ data: [[1, 2.2, 1000], [-4, -4.5, -0.00004], ["-", "5a", "5-2"], ["16142028098527942586", 9007199254740991, "-9007199254740992"]],
929
+ errors: []
930
+ }
931
+ },
932
+ {
933
+ description: "Dynamic typing converts boolean literals",
934
+ input: 'true,false,T,F,TRUE,FALSE,True,False',
935
+ config: { dynamicTyping: true },
936
+ expected: {
937
+ data: [[true, false, "T", "F", true, false, "True", "False"]],
938
+ errors: []
939
+ }
940
+ },
941
+ {
942
+ description: "Dynamic typing doesn't convert other types",
943
+ input: 'A,B,C\r\nundefined,null,[\r\nvar,float,if',
944
+ config: { dynamicTyping: true },
945
+ expected: {
946
+ data: [["A", "B", "C"], ["undefined", "null", "["], ["var", "float", "if"]],
947
+ errors: []
948
+ }
949
+ },
950
+ {
951
+ description: "Dynamic typing applies to specific columns",
952
+ input: 'A,B,C\r\n1,2.2,1e3\r\n-4,-4.5,-4e-5',
953
+ config: { header: true, dynamicTyping: { A: true, C: true } },
954
+ expected: {
955
+ data: [{"A": 1, "B": "2.2", "C": 1000}, {"A": -4, "B": "-4.5", "C": -0.00004}],
956
+ errors: []
957
+ }
958
+ },
959
+ {
960
+ description: "Dynamic typing applies to specific columns by index",
961
+ input: '1,2.2,1e3\r\n-4,-4.5,-4e-5\r\n-,5a,5-2',
962
+ config: { dynamicTyping: { 1: true } },
963
+ expected: {
964
+ data: [["1", 2.2, "1e3"], ["-4", -4.5, "-4e-5"], ["-", "5a", "5-2"]],
965
+ errors: []
966
+ }
967
+ },
968
+ {
969
+ description: "Dynamic typing can be applied to `__parsed_extra`",
970
+ input: 'A,B,C\r\n1,2.2,1e3,5.5\r\n-4,-4.5,-4e-5',
971
+ config: { header: true, dynamicTyping: { A: true, C: true, __parsed_extra: true } },
972
+ expected: {
973
+ data: [{"A": 1, "B": "2.2", "C": 1000, "__parsed_extra": [5.5]}, {"A": -4, "B": "-4.5", "C": -0.00004}],
974
+ errors: [{
975
+ "type": "FieldMismatch",
976
+ "code": "TooManyFields",
977
+ "message": "Too many fields: expected 3 fields but parsed 4",
978
+ "row": 0
979
+ }]
980
+ }
981
+ },
982
+ {
983
+ description: "Dynamic typing by indices can be determined by function",
984
+ input: '001,002,003',
985
+ config: { dynamicTyping: function(field) { return (field % 2) === 0; } },
986
+ expected: {
987
+ data: [[1, "002", 3]],
988
+ errors: []
989
+ }
990
+ },
991
+ {
992
+ description: "Dynamic typing by headers can be determined by function",
993
+ input: 'A_as_int,B,C_as_int\r\n001,002,003',
994
+ config: { header: true, dynamicTyping: function(field) { return /_as_int$/.test(field); } },
995
+ expected: {
996
+ data: [{"A_as_int": 1, "B": "002", "C_as_int": 3}],
997
+ errors: []
998
+ }
999
+ },
1000
+ {
1001
+ description: "Dynamic typing converts empty values into NULL",
1002
+ input: '1,2.2,1e3\r\n,NULL,\r\n-,5a,null',
1003
+ config: { dynamicTyping: true },
1004
+ expected: {
1005
+ data: [[1, 2.2, 1000], [null, "NULL", null], ["-", "5a", "null"]],
1006
+ errors: []
1007
+ }
1008
+ },
1009
+ {
1010
+ description: "Custom transform function is applied to values",
1011
+ input: 'A,B,C\r\nd,e,f',
1012
+ config: {
1013
+ transform: function(value) {
1014
+ return value.toLowerCase();
1015
+ }
1016
+ },
1017
+ expected: {
1018
+ data: [["a","b","c"], ["d","e","f"]],
1019
+ errors: []
1020
+ }
1021
+ },
1022
+ {
1023
+ description: "Custom transform accepts column number also",
1024
+ input: 'A,B,C\r\nd,e,f',
1025
+ config: {
1026
+ transform: function(value, column) {
1027
+ if (column % 2) {
1028
+ value = value.toLowerCase();
1029
+ }
1030
+ return value;
1031
+ }
1032
+ },
1033
+ expected: {
1034
+ data: [["A","b","C"], ["d","e","f"]],
1035
+ errors: []
1036
+ }
1037
+ },
1038
+ {
1039
+ description: "Custom transform accepts header name when using header",
1040
+ input: 'A,B,C\r\nd,e,f',
1041
+ config: {
1042
+ header: true,
1043
+ transform: function(value, name) {
1044
+ if (name === 'B') {
1045
+ value = value.toUpperCase();
1046
+ }
1047
+ return value;
1048
+ }
1049
+ },
1050
+ expected: {
1051
+ data: [{'A': "d", 'B': "E", 'C': "f"}],
1052
+ errors: []
1053
+ }
1054
+ },
1055
+ {
1056
+ description: "Dynamic typing converts ISO date strings to Dates",
1057
+ input: 'ISO date,long date\r\n2018-05-04T21:08:03.269Z,Fri May 04 2018 14:08:03 GMT-0700 (PDT)\r\n2018-05-08T15:20:22.642Z,Tue May 08 2018 08:20:22 GMT-0700 (PDT)',
1058
+ config: { dynamicTyping: true },
1059
+ expected: {
1060
+ data: [["ISO date", "long date"], [new Date("2018-05-04T21:08:03.269Z"), "Fri May 04 2018 14:08:03 GMT-0700 (PDT)"], [new Date("2018-05-08T15:20:22.642Z"), "Tue May 08 2018 08:20:22 GMT-0700 (PDT)"]],
1061
+ errors: []
1062
+ }
1063
+ },
1064
+ {
1065
+ description: "Dynamic typing skips ISO date strings ocurring in other strings",
1066
+ input: 'ISO date,String with ISO date\r\n2018-05-04T21:08:03.269Z,The date is 2018-05-04T21:08:03.269Z\r\n2018-05-08T15:20:22.642Z,The date is 2018-05-08T15:20:22.642Z',
1067
+ config: { dynamicTyping: true },
1068
+ expected: {
1069
+ data: [["ISO date", "String with ISO date"], [new Date("2018-05-04T21:08:03.269Z"), "The date is 2018-05-04T21:08:03.269Z"], [new Date("2018-05-08T15:20:22.642Z"), "The date is 2018-05-08T15:20:22.642Z"]],
1070
+ errors: []
1071
+ }
1072
+ },
1073
+ {
1074
+ description: "Blank line at beginning",
1075
+ input: '\r\na,b,c\r\nd,e,f',
1076
+ config: { newline: '\r\n' },
1077
+ expected: {
1078
+ data: [[''], ['a', 'b', 'c'], ['d', 'e', 'f']],
1079
+ errors: []
1080
+ }
1081
+ },
1082
+ {
1083
+ description: "Blank line in middle",
1084
+ input: 'a,b,c\r\n\r\nd,e,f',
1085
+ config: { newline: '\r\n' },
1086
+ expected: {
1087
+ data: [['a', 'b', 'c'], [''], ['d', 'e', 'f']],
1088
+ errors: []
1089
+ }
1090
+ },
1091
+ {
1092
+ description: "Blank lines at end",
1093
+ input: 'a,b,c\nd,e,f\n\n',
1094
+ expected: {
1095
+ data: [['a', 'b', 'c'], ['d', 'e', 'f'], [''], ['']],
1096
+ errors: []
1097
+ }
1098
+ },
1099
+ {
1100
+ description: "Blank line in middle with whitespace",
1101
+ input: 'a,b,c\r\n \r\nd,e,f',
1102
+ expected: {
1103
+ data: [['a', 'b', 'c'], [" "], ['d', 'e', 'f']],
1104
+ errors: []
1105
+ }
1106
+ },
1107
+ {
1108
+ description: "First field of a line is empty",
1109
+ input: 'a,b,c\r\n,e,f',
1110
+ expected: {
1111
+ data: [['a', 'b', 'c'], ['', 'e', 'f']],
1112
+ errors: []
1113
+ }
1114
+ },
1115
+ {
1116
+ description: "Last field of a line is empty",
1117
+ input: 'a,b,\r\nd,e,f',
1118
+ expected: {
1119
+ data: [['a', 'b', ''], ['d', 'e', 'f']],
1120
+ errors: []
1121
+ }
1122
+ },
1123
+ {
1124
+ description: "Other fields are empty",
1125
+ input: 'a,,c\r\n,,',
1126
+ expected: {
1127
+ data: [['a', '', 'c'], ['', '', '']],
1128
+ errors: []
1129
+ }
1130
+ },
1131
+ {
1132
+ description: "Empty input string",
1133
+ input: '',
1134
+ expected: {
1135
+ data: [],
1136
+ errors: [{
1137
+ "type": "Delimiter",
1138
+ "code": "UndetectableDelimiter",
1139
+ "message": "Unable to auto-detect delimiting character; defaulted to ','"
1140
+ }]
1141
+ }
1142
+ },
1143
+ {
1144
+ description: "Input is just the delimiter (2 empty fields)",
1145
+ input: ',',
1146
+ expected: {
1147
+ data: [['', '']],
1148
+ errors: []
1149
+ }
1150
+ },
1151
+ {
1152
+ description: "Input is just a string (a single field)",
1153
+ input: 'Abc def',
1154
+ expected: {
1155
+ data: [['Abc def']],
1156
+ errors: [
1157
+ {
1158
+ "type": "Delimiter",
1159
+ "code": "UndetectableDelimiter",
1160
+ "message": "Unable to auto-detect delimiting character; defaulted to ','"
1161
+ }
1162
+ ]
1163
+ }
1164
+ },
1165
+ {
1166
+ description: "Preview 0 rows should default to parsing all",
1167
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i',
1168
+ config: { preview: 0 },
1169
+ expected: {
1170
+ data: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']],
1171
+ errors: []
1172
+ }
1173
+ },
1174
+ {
1175
+ description: "Preview 1 row",
1176
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i',
1177
+ config: { preview: 1 },
1178
+ expected: {
1179
+ data: [['a', 'b', 'c']],
1180
+ errors: []
1181
+ }
1182
+ },
1183
+ {
1184
+ description: "Preview 2 rows",
1185
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i',
1186
+ config: { preview: 2 },
1187
+ expected: {
1188
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
1189
+ errors: []
1190
+ }
1191
+ },
1192
+ {
1193
+ description: "Preview all (3) rows",
1194
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i',
1195
+ config: { preview: 3 },
1196
+ expected: {
1197
+ data: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']],
1198
+ errors: []
1199
+ }
1200
+ },
1201
+ {
1202
+ description: "Preview more rows than input has",
1203
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i',
1204
+ config: { preview: 4 },
1205
+ expected: {
1206
+ data: [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']],
1207
+ errors: []
1208
+ }
1209
+ },
1210
+ {
1211
+ description: "Preview should count rows, not lines",
1212
+ input: 'a,b,c\r\nd,e,"f\r\nf",g,h,i',
1213
+ config: { preview: 2 },
1214
+ expected: {
1215
+ data: [['a', 'b', 'c'], ['d', 'e', 'f\r\nf', 'g', 'h', 'i']],
1216
+ errors: []
1217
+ }
1218
+ },
1219
+ {
1220
+ description: "Preview with header row",
1221
+ notes: "Preview is defined to be number of rows of input not including header row",
1222
+ input: 'a,b,c\r\nd,e,f\r\ng,h,i\r\nj,k,l',
1223
+ config: { header: true, preview: 2 },
1224
+ expected: {
1225
+ data: [{"a": "d", "b": "e", "c": "f"}, {"a": "g", "b": "h", "c": "i"}],
1226
+ errors: []
1227
+ }
1228
+ },
1229
+ {
1230
+ description: "Empty lines",
1231
+ input: '\na,b,c\n\nd,e,f\n\n',
1232
+ config: { delimiter: ',' },
1233
+ expected: {
1234
+ data: [[''], ['a', 'b', 'c'], [''], ['d', 'e', 'f'], [''], ['']],
1235
+ errors: []
1236
+ }
1237
+ },
1238
+ {
1239
+ description: "Skip empty lines",
1240
+ input: 'a,b,c\n\nd,e,f',
1241
+ config: { skipEmptyLines: true },
1242
+ expected: {
1243
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
1244
+ errors: []
1245
+ }
1246
+ },
1247
+ {
1248
+ description: "Skip empty lines, with newline at end of input",
1249
+ input: 'a,b,c\r\n\r\nd,e,f\r\n',
1250
+ config: { skipEmptyLines: true },
1251
+ expected: {
1252
+ data: [['a', 'b', 'c'], ['d', 'e', 'f']],
1253
+ errors: []
1254
+ }
1255
+ },
1256
+ {
1257
+ description: "Skip empty lines, with empty input",
1258
+ input: '',
1259
+ config: { skipEmptyLines: true },
1260
+ expected: {
1261
+ data: [],
1262
+ errors: [
1263
+ {
1264
+ "type": "Delimiter",
1265
+ "code": "UndetectableDelimiter",
1266
+ "message": "Unable to auto-detect delimiting character; defaulted to ','"
1267
+ }
1268
+ ]
1269
+ }
1270
+ },
1271
+ {
1272
+ description: "Skip empty lines, with first line only whitespace",
1273
+ notes: "A line must be absolutely empty to be considered empty",
1274
+ input: ' \na,b,c',
1275
+ config: { skipEmptyLines: true, delimiter: ',' },
1276
+ expected: {
1277
+ data: [[" "], ['a', 'b', 'c']],
1278
+ errors: []
1279
+ }
1280
+ },
1281
+ {
1282
+ description: "Skip empty lines while detecting delimiter",
1283
+ notes: "Parsing correctly newline-terminated short data with delimiter:auto and skipEmptyLines:true",
1284
+ input: 'a,b\n1,2\n3,4\n',
1285
+ config: { header: true, skipEmptyLines: true },
1286
+ expected: {
1287
+ data: [{'a': '1', 'b': '2'}, {'a': '3', 'b': '4'}],
1288
+ errors: []
1289
+ }
1290
+ },
1291
+ {
1292
+ description: "Lines with comments are not used when guessing the delimiter in an escaped file",
1293
+ notes: "Guessing the delimiter should work even if there are many lines of comments at the start of the file",
1294
+ input: '#1\n#2\n#3\n#4\n#5\n#6\n#7\n#8\n#9\n#10\none,"t,w,o",three\nfour,five,six',
1295
+ config: { comments: '#' },
1296
+ expected: {
1297
+ data: [['one','t,w,o','three'],['four','five','six']],
1298
+ errors: []
1299
+ }
1300
+ },
1301
+ {
1302
+ description: "Lines with comments are not used when guessing the delimiter in a non-escaped file",
1303
+ notes: "Guessing the delimiter should work even if there are many lines of comments at the start of the file",
1304
+ input: '#1\n#2\n#3\n#4\n#5\n#6\n#7\n#8\n#9\n#10\n#11\none,two,three\nfour,five,six',
1305
+ config: { comments: '#' },
1306
+ expected: {
1307
+ data: [['one','two','three'],['four','five','six']],
1308
+ errors: []
1309
+ }
1310
+ },
1311
+ {
1312
+ description: "Pipe delimiter is guessed correctly when mixed with comas",
1313
+ notes: "Guessing the delimiter should work even if there are many lines of comments at the start of the file",
1314
+ input: 'one|two,two|three\nfour|five,five|six',
1315
+ config: {},
1316
+ expected: {
1317
+ data: [['one','two,two','three'],['four','five,five','six']],
1318
+ errors: []
1319
+ }
1320
+ },
1321
+ {
1322
+ description: "Pipe delimiter is guessed correctly choose avgFildCount max one",
1323
+ notes: "Guessing the delimiter should work choose the min delta one and the max one",
1324
+ config: {},
1325
+ input: 'a,b,c\na,b,c|d|e|f',
1326
+ expected: {
1327
+ data: [['a', 'b', 'c'], ['a','b','c|d|e|f']],
1328
+ errors: []
1329
+ }
1330
+ },
1331
+ {
1332
+ description: "Pipe delimiter is guessed correctly when first field are enclosed in quotes and contain delimiter characters",
1333
+ notes: "Guessing the delimiter should work if the first field is enclosed in quotes, but others are not",
1334
+ input: '"Field1,1,1";Field2;"Field3";Field4;Field5;Field6',
1335
+ config: {},
1336
+ expected: {
1337
+ data: [['Field1,1,1','Field2','Field3', 'Field4', 'Field5', 'Field6']],
1338
+ errors: []
1339
+ }
1340
+ },
1341
+ {
1342
+ description: "Pipe delimiter is guessed correctly when some fields are enclosed in quotes and contain delimiter characters and escaoped quotes",
1343
+ notes: "Guessing the delimiter should work even if the first field is not enclosed in quotes, but others are",
1344
+ input: 'Field1;Field2;"Field,3,""3,3";Field4;Field5;"Field6,6"',
1345
+ config: {},
1346
+ expected: {
1347
+ data: [['Field1','Field2','Field,3,"3,3', 'Field4', 'Field5', 'Field6,6']],
1348
+ errors: []
1349
+ }
1350
+ },
1351
+ {
1352
+ description: "Single quote as quote character",
1353
+ notes: "Must parse correctly when single quote is specified as a quote character",
1354
+ input: "a,b,'c,d'",
1355
+ config: { quoteChar: "'" },
1356
+ expected: {
1357
+ data: [['a', 'b', 'c,d']],
1358
+ errors: []
1359
+ }
1360
+ },
1361
+ {
1362
+ description: "Custom escape character in the middle",
1363
+ notes: "Must parse correctly if the backslash sign (\\) is configured as a custom escape character",
1364
+ input: 'a,b,"c\\"d\\"f"',
1365
+ config: { escapeChar: '\\' },
1366
+ expected: {
1367
+ data: [['a', 'b', 'c"d"f']],
1368
+ errors: []
1369
+ }
1370
+ },
1371
+ {
1372
+ description: "Custom escape character at the end",
1373
+ notes: "Must parse correctly if the backslash sign (\\) is configured as a custom escape character and the escaped quote character appears at the end of the column",
1374
+ input: 'a,b,"c\\"d\\""',
1375
+ config: { escapeChar: '\\' },
1376
+ expected: {
1377
+ data: [['a', 'b', 'c"d"']],
1378
+ errors: []
1379
+ }
1380
+ },
1381
+ {
1382
+ description: "Custom escape character not used for escaping",
1383
+ notes: "Must parse correctly if the backslash sign (\\) is configured as a custom escape character and appears as regular character in the text",
1384
+ input: 'a,b,"c\\d"',
1385
+ config: { escapeChar: '\\' },
1386
+ expected: {
1387
+ data: [['a', 'b', 'c\\d']],
1388
+ errors: []
1389
+ }
1390
+ },
1391
+ {
1392
+ description: "Header row with preceding comment",
1393
+ notes: "Must parse correctly headers if they are preceded by comments",
1394
+ input: '#Comment\na,b\nc,d\n',
1395
+ config: { header: true, comments: '#', skipEmptyLines: true, delimiter: ',' },
1396
+ expected: {
1397
+ data: [{'a': 'c', 'b': 'd'}],
1398
+ errors: []
1399
+ }
1400
+ },
1401
+ {
1402
+ description: "Carriage return in header inside quotes, with line feed endings",
1403
+ input: '"a\r\na","b"\n"c","d"\n"e","f"\n"g","h"\n"i","j"',
1404
+ config: {},
1405
+ expected: {
1406
+ data: [['a\r\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1407
+ errors: []
1408
+ }
1409
+ },
1410
+ {
1411
+ description: "Line feed in header inside quotes, with carriage return + line feed endings",
1412
+ input: '"a\na","b"\r\n"c","d"\r\n"e","f"\r\n"g","h"\r\n"i","j"',
1413
+ config: {},
1414
+ expected: {
1415
+ data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1416
+ errors: []
1417
+ }
1418
+ },
1419
+ {
1420
+ description: "Using \\r\\n endings uses \\r\\n linebreak",
1421
+ input: 'a,b\r\nc,d\r\ne,f\r\ng,h\r\ni,j',
1422
+ config: {},
1423
+ expected: {
1424
+ data: [['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1425
+ errors: [],
1426
+ meta: {
1427
+ linebreak: '\r\n',
1428
+ delimiter: ',',
1429
+ cursor: 23,
1430
+ aborted: false,
1431
+ truncated: false,
1432
+ renamedHeaders: null
1433
+ }
1434
+ }
1435
+ },
1436
+ {
1437
+ description: "Using \\n endings uses \\n linebreak",
1438
+ input: 'a,b\nc,d\ne,f\ng,h\ni,j',
1439
+ config: {},
1440
+ expected: {
1441
+ data: [['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1442
+ errors: [],
1443
+ meta: {
1444
+ linebreak: '\n',
1445
+ delimiter: ',',
1446
+ cursor: 19,
1447
+ aborted: false,
1448
+ truncated: false,
1449
+ renamedHeaders: null
1450
+ }
1451
+ }
1452
+ },
1453
+ {
1454
+ description: "Using \\r\\n endings with \\r\\n in header field uses \\r\\n linebreak",
1455
+ input: '"a\r\na",b\r\nc,d\r\ne,f\r\ng,h\r\ni,j',
1456
+ config: {},
1457
+ expected: {
1458
+ data: [['a\r\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1459
+ errors: [],
1460
+ meta: {
1461
+ linebreak: '\r\n',
1462
+ delimiter: ',',
1463
+ cursor: 28,
1464
+ aborted: false,
1465
+ truncated: false,
1466
+ renamedHeaders: null
1467
+ }
1468
+ }
1469
+ },
1470
+ {
1471
+ description: "Using \\r\\n endings with \\n in header field uses \\r\\n linebreak",
1472
+ input: '"a\na",b\r\nc,d\r\ne,f\r\ng,h\r\ni,j',
1473
+ config: {},
1474
+ expected: {
1475
+ data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1476
+ errors: [],
1477
+ meta: {
1478
+ linebreak: '\r\n',
1479
+ delimiter: ',',
1480
+ cursor: 27,
1481
+ aborted: false,
1482
+ truncated: false,
1483
+ renamedHeaders: null
1484
+ }
1485
+ }
1486
+ },
1487
+ {
1488
+ description: "Using \\r\\n endings with \\n in header field with skip empty lines uses \\r\\n linebreak",
1489
+ input: '"a\na",b\r\nc,d\r\ne,f\r\ng,h\r\ni,j\r\n',
1490
+ config: {skipEmptyLines: true},
1491
+ expected: {
1492
+ data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1493
+ errors: [],
1494
+ meta: {
1495
+ linebreak: '\r\n',
1496
+ delimiter: ',',
1497
+ cursor: 29,
1498
+ aborted: false,
1499
+ truncated: false,
1500
+ renamedHeaders: null
1501
+ }
1502
+ }
1503
+ },
1504
+ {
1505
+ description: "Using \\n endings with \\r\\n in header field uses \\n linebreak",
1506
+ input: '"a\r\na",b\nc,d\ne,f\ng,h\ni,j',
1507
+ config: {},
1508
+ expected: {
1509
+ data: [['a\r\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1510
+ errors: [],
1511
+ meta: {
1512
+ linebreak: '\n',
1513
+ delimiter: ',',
1514
+ cursor: 24,
1515
+ aborted: false,
1516
+ truncated: false,
1517
+ renamedHeaders: null
1518
+ }
1519
+ }
1520
+ },
1521
+ {
1522
+ description: "Using reserved regex character . as quote character",
1523
+ input: '.a\na.,b\r\nc,d\r\ne,f\r\ng,h\r\ni,j',
1524
+ config: { quoteChar: '.' },
1525
+ expected: {
1526
+ data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1527
+ errors: [],
1528
+ meta: {
1529
+ linebreak: '\r\n',
1530
+ delimiter: ',',
1531
+ cursor: 27,
1532
+ aborted: false,
1533
+ truncated: false,
1534
+ renamedHeaders: null
1535
+ }
1536
+ }
1537
+ },
1538
+ {
1539
+ description: "Using reserved regex character | as quote character",
1540
+ input: '|a\na|,b\r\nc,d\r\ne,f\r\ng,h\r\ni,j',
1541
+ config: { quoteChar: '|' },
1542
+ expected: {
1543
+ data: [['a\na', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h'], ['i', 'j']],
1544
+ errors: [],
1545
+ meta: {
1546
+ linebreak: '\r\n',
1547
+ delimiter: ',',
1548
+ cursor: 27,
1549
+ aborted: false,
1550
+ truncated: false,
1551
+ renamedHeaders: null
1552
+ }
1553
+ }
1554
+ },
1555
+ {
1556
+ description: "Parsing with skipEmptyLines set to 'greedy'",
1557
+ notes: "Must parse correctly without lines with no content",
1558
+ input: 'a,b\n\n,\nc,d\n , \n""," "\n , \n,,,,\n',
1559
+ config: { skipEmptyLines: 'greedy' },
1560
+ expected: {
1561
+ data: [['a', 'b'], ['c', 'd']],
1562
+ errors: []
1563
+ }
1564
+ },
1565
+ {
1566
+ description: "Parsing with skipEmptyLines set to 'greedy' with quotes and delimiters as content",
1567
+ notes: "Must include lines with escaped delimiters and quotes",
1568
+ input: 'a,b\n\n,\nc,d\n" , ",","\n""" """,""""""\n\n\n',
1569
+ config: { skipEmptyLines: 'greedy' },
1570
+ expected: {
1571
+ data: [['a', 'b'], ['c', 'd'], [' , ', ','], ['" "', '""']],
1572
+ errors: []
1573
+ }
1574
+ },
1575
+ {
1576
+ description: "Quoted fields with spaces between closing quote and next delimiter and contains delimiter",
1577
+ input: 'A,",B" ,C,D\nE,F,G,H',
1578
+ expected: {
1579
+ data: [['A', ',B', 'C', 'D'],['E', 'F', 'G', 'H']],
1580
+ errors: []
1581
+ }
1582
+ },
1583
+ {
1584
+ description: "Quoted fields with spaces between closing quote and newline and contains newline",
1585
+ input: 'a,b,"c\n" \nd,e,f',
1586
+ expected: {
1587
+ data: [['a', 'b', 'c\n'], ['d', 'e', 'f']],
1588
+ errors: []
1589
+ }
1590
+ },
1591
+ {
1592
+ description: "Skip First N number of lines , with header and 2 rows",
1593
+ input: 'a,b,c,d\n1,2,3,4',
1594
+ config: { header: true, skipFirstNLines: 1 },
1595
+ expected: {
1596
+ data: [],
1597
+ errors: []
1598
+ }
1599
+ },
1600
+ {
1601
+ description: "Skip First N number of lines , with header and 2 rows",
1602
+ input: 'to-be-ignored\na,b,c,d\n1,2,3,4',
1603
+ config: { header: true, skipFirstNLines: 1 },
1604
+ expected: {
1605
+ data: [{a: '1', b: '2', c: '3', d: '4'}],
1606
+ errors: []
1607
+ }
1608
+ },
1609
+ {
1610
+ description: "Skip First N number of lines , with header false",
1611
+ input: 'a,b,c,d\n1,2,3,4\n4,5,6,7',
1612
+ config: { header: false, skipFirstNLines: 1 },
1613
+ expected: {
1614
+ data: [['1','2','3','4'],['4','5','6','7']],
1615
+ errors: []
1616
+ }
1617
+ },
1618
+ {
1619
+ description: "Skip First N number of lines , with header false and skipFirstNLines as negative value",
1620
+ input: 'a,b,c,d\n1,2,3,4\n4,5,6,7',
1621
+ config: { header: false, skipFirstNLines: -2 },
1622
+ expected: {
1623
+ data: [['a','b','c','d'],['1','2','3','4'],['4','5','6','7']],
1624
+ errors: []
1625
+ }
1626
+ },
1627
+ {
1628
+ description: "Skip first 2 lines , with custom newline character",
1629
+ input: 'skip-this\rskip-this\r1,2,3,4',
1630
+ config: { header: false, skipFirstNLines: 2, newline: '\r' },
1631
+ expected: {
1632
+ data: [['1','2','3','4']],
1633
+ errors: []
1634
+ }
1635
+ }
1636
+ ];
1637
+
1638
+ describe('Parse Tests', function() {
1639
+ function generateTest(test) {
1640
+ (test.disabled ? it.skip : it)(test.description, function() {
1641
+ var actual = Papa.parse(test.input, test.config);
1642
+ // allows for testing the meta object if present in the test
1643
+ if (test.expected.meta) {
1644
+ assert.deepEqual(actual.meta, test.expected.meta);
1645
+ }
1646
+ assert.deepEqual(actual.errors, test.expected.errors);
1647
+ assert.deepEqual(actual.data, test.expected.data);
1648
+ });
1649
+ }
1650
+
1651
+ for (var i = 0; i < PARSE_TESTS.length; i++) {
1652
+ generateTest(PARSE_TESTS[i]);
1653
+ }
1654
+ });
1655
+
1656
+
1657
+
1658
+ // Tests for Papa.parse() that involve asynchronous operation
1659
+ var PARSE_ASYNC_TESTS = [
1660
+ {
1661
+ description: "Simple worker",
1662
+ input: "A,B,C\nX,Y,Z",
1663
+ config: {
1664
+ worker: true,
1665
+ },
1666
+ expected: {
1667
+ data: [['A','B','C'],['X','Y','Z']],
1668
+ errors: []
1669
+ }
1670
+ },
1671
+ {
1672
+ description: "Simple download",
1673
+ input: BASE_PATH + "sample.csv",
1674
+ config: {
1675
+ download: true
1676
+ },
1677
+ disabled: !XHR_ENABLED,
1678
+ expected: {
1679
+ data: [['A','B','C'],['X','Y','Z']],
1680
+ errors: []
1681
+ }
1682
+ },
1683
+ {
1684
+ description: "Simple download + worker",
1685
+ input: BASE_PATH + "sample.csv",
1686
+ config: {
1687
+ worker: true,
1688
+ download: true
1689
+ },
1690
+ disabled: !XHR_ENABLED,
1691
+ expected: {
1692
+ data: [['A','B','C'],['X','Y','Z']],
1693
+ errors: []
1694
+ }
1695
+ },
1696
+ {
1697
+ description: "Simple file",
1698
+ disabled: !FILES_ENABLED,
1699
+ input: FILES_ENABLED ? new File(["A,B,C\nX,Y,Z"], "sample.csv") : false,
1700
+ config: {
1701
+ },
1702
+ expected: {
1703
+ data: [['A','B','C'],['X','Y','Z']],
1704
+ errors: []
1705
+ }
1706
+ },
1707
+ {
1708
+ description: "Simple file + worker",
1709
+ disabled: !FILES_ENABLED,
1710
+ input: FILES_ENABLED ? new File(["A,B,C\nX,Y,Z"], "sample.csv") : false,
1711
+ config: {
1712
+ worker: true,
1713
+ },
1714
+ expected: {
1715
+ data: [['A','B','C'],['X','Y','Z']],
1716
+ errors: []
1717
+ }
1718
+ },
1719
+ {
1720
+ description: "File with a few regular and lots of empty lines",
1721
+ disabled: !FILES_ENABLED,
1722
+ input: FILES_ENABLED ? new File(["A,B,C\nX,Y,Z\n" + new Array(500000).fill(",,").join("\n")], "sample.csv") : false,
1723
+ config: {
1724
+ skipEmptyLines: "greedy"
1725
+ },
1726
+ expected: {
1727
+ data: [['A','B','C'],['X','Y','Z']],
1728
+ errors: []
1729
+ }
1730
+ },
1731
+ {
1732
+ description: "File with a few regular and lots of empty lines + worker",
1733
+ disabled: !FILES_ENABLED,
1734
+ input: FILES_ENABLED ? new File(["A,B,C\nX,Y,Z\n" + new Array(500000).fill(",,").join("\n")], "sample.csv") : false,
1735
+ config: {
1736
+ worker: true,
1737
+ skipEmptyLines: "greedy"
1738
+ },
1739
+ expected: {
1740
+ data: [['A','B','C'],['X','Y','Z']],
1741
+ errors: []
1742
+ }
1743
+ }
1744
+ ];
1745
+
1746
+ describe('Parse Async Tests', function() {
1747
+ function generateTest(test) {
1748
+ (test.disabled ? it.skip : it)(test.description, function(done) {
1749
+ var config = test.config;
1750
+
1751
+ config.complete = function(actual) {
1752
+ assert.deepEqual(actual.errors, test.expected.errors);
1753
+ assert.deepEqual(actual.data, test.expected.data);
1754
+ done();
1755
+ };
1756
+
1757
+ config.error = function(err) {
1758
+ throw err;
1759
+ };
1760
+
1761
+ Papa.parse(test.input, config);
1762
+ });
1763
+ }
1764
+
1765
+ for (var i = 0; i < PARSE_ASYNC_TESTS.length; i++) {
1766
+ generateTest(PARSE_ASYNC_TESTS[i]);
1767
+ }
1768
+ });
1769
+
1770
+
1771
+
1772
+ // Tests for Papa.unparse() function (JSON to CSV)
1773
+ var UNPARSE_TESTS = [
1774
+ {
1775
+ description: "A simple row",
1776
+ notes: "Comma should be default delimiter",
1777
+ input: [['A', 'b', 'c']],
1778
+ expected: 'A,b,c'
1779
+ },
1780
+ {
1781
+ description: "Two rows",
1782
+ input: [['A', 'b', 'c'], ['d', 'E', 'f']],
1783
+ expected: 'A,b,c\r\nd,E,f'
1784
+ },
1785
+ {
1786
+ description: "Data with quotes",
1787
+ input: [['a', '"b"', 'c'], ['"d"', 'e', 'f']],
1788
+ expected: 'a,"""b""",c\r\n"""d""",e,f'
1789
+ },
1790
+ {
1791
+ description: "Data with newlines",
1792
+ input: [['a', 'b\nb', 'c'], ['d', 'e', 'f\r\nf']],
1793
+ expected: 'a,"b\nb",c\r\nd,e,"f\r\nf"'
1794
+ },
1795
+ {
1796
+ description: "Array of objects (header row)",
1797
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col2": "e", "Col3": "f" }],
1798
+ expected: 'Col1,Col2,Col3\r\na,b,c\r\nd,e,f'
1799
+ },
1800
+ {
1801
+ description: "With header row, missing a field in a row",
1802
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col3": "f" }],
1803
+ expected: 'Col1,Col2,Col3\r\na,b,c\r\nd,,f'
1804
+ },
1805
+ {
1806
+ description: "With header row, with extra field in a row",
1807
+ notes: "Extra field should be ignored; first object in array dictates header row",
1808
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col2": "e", "Extra": "g", "Col3": "f" }],
1809
+ expected: 'Col1,Col2,Col3\r\na,b,c\r\nd,e,f'
1810
+ },
1811
+ {
1812
+ description: "Specifying column names and data separately",
1813
+ input: { fields: ["Col1", "Col2", "Col3"], data: [["a", "b", "c"], ["d", "e", "f"]] },
1814
+ expected: 'Col1,Col2,Col3\r\na,b,c\r\nd,e,f'
1815
+ },
1816
+ {
1817
+ description: "Specifying column names only (no data)",
1818
+ notes: "Papa should add a data property that is an empty array to prevent errors (no copy is made)",
1819
+ input: { fields: ["Col1", "Col2", "Col3"] },
1820
+ expected: 'Col1,Col2,Col3'
1821
+ },
1822
+ {
1823
+ description: "Specifying data only (no field names), improperly",
1824
+ notes: "A single array for a single row is wrong, but it can be compensated.<br>Papa should add empty fields property to prevent errors.",
1825
+ input: { data: ["abc", "d", "ef"] },
1826
+ expected: 'abc,d,ef'
1827
+ },
1828
+ {
1829
+ description: "Specifying data only (no field names), properly",
1830
+ notes: "An array of arrays, even if just a single row.<br>Papa should add empty fields property to prevent errors.",
1831
+ input: { data: [["a", "b", "c"]] },
1832
+ expected: 'a,b,c'
1833
+ },
1834
+ {
1835
+ description: "Custom delimiter (semicolon)",
1836
+ input: [['A', 'b', 'c'], ['d', 'e', 'f']],
1837
+ config: { delimiter: ';' },
1838
+ expected: 'A;b;c\r\nd;e;f'
1839
+ },
1840
+ {
1841
+ description: "Custom delimiter (tab)",
1842
+ input: [['Ab', 'cd', 'ef'], ['g', 'h', 'ij']],
1843
+ config: { delimiter: '\t' },
1844
+ expected: 'Ab\tcd\tef\r\ng\th\tij'
1845
+ },
1846
+ {
1847
+ description: "Custom delimiter (ASCII 30)",
1848
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1849
+ config: { delimiter: RECORD_SEP },
1850
+ expected: 'a' + RECORD_SEP + 'b' + RECORD_SEP + 'c\r\nd' + RECORD_SEP + 'e' + RECORD_SEP + 'f'
1851
+ },
1852
+ {
1853
+ description: "Custom delimiter (Multi-character)",
1854
+ input: [['A', 'b', 'c'], ['d', 'e', 'f']],
1855
+ config: { delimiter: ', ' },
1856
+ expected: 'A, b, c\r\nd, e, f'
1857
+ },
1858
+ {
1859
+ description: "Custom delimiter (Multi-character), field contains custom delimiter",
1860
+ input: [['A', 'b', 'c'], ['d', 'e', 'f, g']],
1861
+ config: { delimiter: ', ' },
1862
+ expected: 'A, b, c\r\nd, e, "f, g"'
1863
+ },
1864
+ {
1865
+ description: "Bad delimiter (\\n)",
1866
+ notes: "Should default to comma",
1867
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1868
+ config: { delimiter: '\n' },
1869
+ expected: 'a,b,c\r\nd,e,f'
1870
+ },
1871
+ {
1872
+ description: "Custom line ending (\\r)",
1873
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1874
+ config: { newline: '\r' },
1875
+ expected: 'a,b,c\rd,e,f'
1876
+ },
1877
+ {
1878
+ description: "Custom line ending (\\n)",
1879
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1880
+ config: { newline: '\n' },
1881
+ expected: 'a,b,c\nd,e,f'
1882
+ },
1883
+ {
1884
+ description: "Custom, but strange, line ending ($)",
1885
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1886
+ config: { newline: '$' },
1887
+ expected: 'a,b,c$d,e,f'
1888
+ },
1889
+ {
1890
+ description: "Force quotes around all fields",
1891
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1892
+ config: { quotes: true },
1893
+ expected: '"a","b","c"\r\n"d","e","f"'
1894
+ },
1895
+ {
1896
+ description: "Force quotes around all fields (with header row)",
1897
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col2": "e", "Col3": "f" }],
1898
+ config: { quotes: true },
1899
+ expected: '"Col1","Col2","Col3"\r\n"a","b","c"\r\n"d","e","f"'
1900
+ },
1901
+ {
1902
+ description: "Force quotes around certain fields only",
1903
+ input: [['a', 'b', 'c'], ['d', 'e', 'f']],
1904
+ config: { quotes: [true, false, true] },
1905
+ expected: '"a",b,"c"\r\n"d",e,"f"'
1906
+ },
1907
+ {
1908
+ description: "Force quotes around certain fields only (with header row)",
1909
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col2": "e", "Col3": "f" }],
1910
+ config: { quotes: [true, false, true] },
1911
+ expected: '"Col1",Col2,"Col3"\r\n"a",b,"c"\r\n"d",e,"f"'
1912
+ },
1913
+ {
1914
+ description: "Force quotes around string fields only",
1915
+ input: [['a', 'b', 'c'], ['d', 10, true]],
1916
+ config: { quotes: function(value) { return typeof value === 'string'; } },
1917
+ expected: '"a","b","c"\r\n"d",10,true'
1918
+ },
1919
+ {
1920
+ description: "Force quotes around string fields only (with header row)",
1921
+ input: [{ "Col1": "a", "Col2": "b", "Col3": "c" }, { "Col1": "d", "Col2": 10, "Col3": true }],
1922
+ config: { quotes: function(value) { return typeof value === 'string'; } },
1923
+ expected: '"Col1","Col2","Col3"\r\n"a","b","c"\r\n"d",10,true'
1924
+ },
1925
+ {
1926
+ description: "Empty input",
1927
+ input: [],
1928
+ expected: ''
1929
+ },
1930
+ {
1931
+ description: "Mismatched field counts in rows",
1932
+ input: [['a', 'b', 'c'], ['d', 'e'], ['f']],
1933
+ expected: 'a,b,c\r\nd,e\r\nf'
1934
+ },
1935
+ {
1936
+ description: "JSON null is treated as empty value",
1937
+ input: [{ "Col1": "a", "Col2": null, "Col3": "c" }],
1938
+ expected: 'Col1,Col2,Col3\r\na,,c'
1939
+ },
1940
+ {
1941
+ description: "Custom quote character (single quote)",
1942
+ input: [['a,d','b','c']],
1943
+ config: { quoteChar: "'"},
1944
+ expected: "'a,d',b,c"
1945
+ },
1946
+ {
1947
+ description: "Don't print header if header:false option specified",
1948
+ input: [{"Col1": "a", "Col2": "b", "Col3": "c"}, {"Col1": "d", "Col2": "e", "Col3": "f"}],
1949
+ config: {header: false},
1950
+ expected: 'a,b,c\r\nd,e,f'
1951
+ },
1952
+ {
1953
+ description: "Date objects are exported in its ISO representation",
1954
+ input: [{date: new Date("2018-05-04T21:08:03.269Z"), "not a date": 16}, {date: new Date("Tue May 08 2018 08:20:22 GMT-0700 (PDT)"), "not a date": 32}],
1955
+ expected: 'date,not a date\r\n2018-05-04T21:08:03.269Z,16\r\n2018-05-08T15:20:22.000Z,32'
1956
+ },
1957
+ {
1958
+ description: "Returns empty rows when empty rows are passed and skipEmptyLines is false",
1959
+ input: [[null, ' '], [], ['1', '2']],
1960
+ config: {skipEmptyLines: false},
1961
+ expected: '," "\r\n\r\n1,2'
1962
+ },
1963
+ {
1964
+ description: "Returns without empty rows when skipEmptyLines is true",
1965
+ input: [[null, ' '], [], ['1', '2']],
1966
+ config: {skipEmptyLines: true},
1967
+ expected: '," "\r\n1,2'
1968
+ },
1969
+ {
1970
+ description: "Returns without rows with no content when skipEmptyLines is 'greedy'",
1971
+ input: [[null, ' '], [], ['1', '2']].concat(new Array(500000).fill(['', ''])).concat([['3', '4']]),
1972
+ config: {skipEmptyLines: 'greedy'},
1973
+ expected: '1,2\r\n3,4'
1974
+ },
1975
+ {
1976
+ description: "Returns empty rows when empty rows are passed and skipEmptyLines is false with headers",
1977
+ input: [{a: null, b: ' '}, {}, {a: '1', b: '2'}],
1978
+ config: {skipEmptyLines: false, header: true},
1979
+ expected: 'a,b\r\n," "\r\n\r\n1,2'
1980
+ },
1981
+ {
1982
+ description: "Returns without empty rows when skipEmptyLines is true with headers",
1983
+ input: [{a: null, b: ' '}, {}, {a: '1', b: '2'}],
1984
+ config: {skipEmptyLines: true, header: true},
1985
+ expected: 'a,b\r\n," "\r\n1,2'
1986
+ },
1987
+ {
1988
+ description: "Returns without rows with no content when skipEmptyLines is 'greedy' with headers",
1989
+ input: [{a: null, b: ' '}, {}, {a: '1', b: '2'}],
1990
+ config: {skipEmptyLines: 'greedy', header: true},
1991
+ expected: 'a,b\r\n1,2'
1992
+ },
1993
+ {
1994
+ description: "Column option used to manually specify keys",
1995
+ notes: "Should not throw any error when attempting to serialize key not present in object. Columns are different than keys of the first object. When an object is missing a key then the serialized value should be an empty string.",
1996
+ input: [{a: 1, b: '2'}, {}, {a: 3, d: 'd', c: 4,}],
1997
+ config: {columns: ['a', 'b', 'c']},
1998
+ expected: 'a,b,c\r\n1,2,\r\n\r\n3,,4'
1999
+ },
2000
+ {
2001
+ description: "Column option used to manually specify keys with input type object",
2002
+ notes: "Should not throw any error when attempting to serialize key not present in object. Columns are different than keys of the first object. When an object is missing a key then the serialized value should be an empty string.",
2003
+ input: { data: [{a: 1, b: '2'}, {}, {a: 3, d: 'd', c: 4,}] },
2004
+ config: {columns: ['a', 'b', 'c']},
2005
+ expected: 'a,b,c\r\n1,2,\r\n\r\n3,,4'
2006
+ },
2007
+ {
2008
+ description: "Use different escapeChar",
2009
+ input: [{a: 'foo', b: '"quoted"'}],
2010
+ config: {header: false, escapeChar: '\\'},
2011
+ expected: 'foo,"\\"quoted\\""'
2012
+ },
2013
+ {
2014
+ description: "test defeault escapeChar",
2015
+ input: [{a: 'foo', b: '"quoted"'}],
2016
+ config: {header: false},
2017
+ expected: 'foo,"""quoted"""'
2018
+ },
2019
+ {
2020
+ description: "Escape formulae",
2021
+ input: [{ "Col1": "=danger", "Col2": "@danger", "Col3": "safe" }, { "Col1": "safe=safe", "Col2": "+danger", "Col3": "-danger, danger" }, { "Col1": "'+safe", "Col2": "'@safe", "Col3": "safe, safe" }],
2022
+ config: { escapeFormulae: true },
2023
+ expected: 'Col1,Col2,Col3\r\n"\'=danger","\'@danger",safe\r\nsafe=safe,"\'+danger","\'-danger, danger"\r\n\'+safe,\'@safe,"safe, safe"'
2024
+ },
2025
+ {
2026
+ description: "Don't escape formulae by default",
2027
+ input: [{ "Col1": "=danger", "Col2": "@danger", "Col3": "safe" }, { "Col1": "safe=safe", "Col2": "+danger", "Col3": "-danger, danger" }, { "Col1": "'+safe", "Col2": "'@safe", "Col3": "safe, safe" }],
2028
+ expected: 'Col1,Col2,Col3\r\n=danger,@danger,safe\r\nsafe=safe,+danger,"-danger, danger"\r\n\'+safe,\'@safe,"safe, safe"'
2029
+ },
2030
+ {
2031
+ description: "Escape formulae with forced quotes",
2032
+ input: [{ "Col1": "=danger", "Col2": "@danger", "Col3": "safe" }, { "Col1": "safe=safe", "Col2": "+danger", "Col3": "-danger, danger" }, { "Col1": "'+safe", "Col2": "'@safe", "Col3": "safe, safe" }],
2033
+ config: { escapeFormulae: true, quotes: true },
2034
+ expected: '"Col1","Col2","Col3"\r\n"\'=danger","\'@danger","safe"\r\n"safe=safe","\'+danger","\'-danger, danger"\r\n"\'+safe","\'@safe","safe, safe"'
2035
+ },
2036
+ {
2037
+ description: "Escape formulae with single-quote quoteChar and escapeChar",
2038
+ input: [{ "Col1": "=danger", "Col2": "@danger", "Col3": "safe" }, { "Col1": "safe=safe", "Col2": "+danger", "Col3": "-danger, danger" }, { "Col1": "'+safe", "Col2": "'@safe", "Col3": "safe, safe" }],
2039
+ config: { escapeFormulae: true, quoteChar: "'", escapeChar: "'" },
2040
+ expected: 'Col1,Col2,Col3\r\n\'\'\'=danger\',\'\'\'@danger\',safe\r\nsafe=safe,\'\'\'+danger\',\'\'\'-danger, danger\'\r\n\'\'+safe,\'\'@safe,\'safe, safe\''
2041
+ },
2042
+ {
2043
+ description: "Escape formulae with single-quote quoteChar and escapeChar and forced quotes",
2044
+ input: [{ "Col1": "=danger", "Col2": "@danger", "Col3": "safe" }, { "Col1": "safe=safe", "Col2": "+danger", "Col3": "-danger, danger" }, { "Col1": "'+safe", "Col2": "'@safe", "Col3": "safe, safe" }],
2045
+ config: { escapeFormulae: true, quotes: true, quoteChar: "'", escapeChar: "'" },
2046
+ expected: '\'Col1\',\'Col2\',\'Col3\'\r\n\'\'\'=danger\',\'\'\'@danger\',\'safe\'\r\n\'safe=safe\',\'\'\'+danger\',\'\'\'-danger, danger\'\r\n\'\'\'+safe\',\'\'\'@safe\',\'safe, safe\''
2047
+ },
2048
+ // new escapeFormulae values:
2049
+ {
2050
+ description: "Escape formulae with tab and carriage-return",
2051
+ input: [{ "Col1": "\tdanger", "Col2": "\rdanger,", "Col3": "safe\t\r" }],
2052
+ config: { escapeFormulae: true },
2053
+ expected: 'Col1,Col2,Col3\r\n"\'\tdanger","\'\rdanger,","safe\t\r"'
2054
+ },
2055
+ {
2056
+ description: "Escape formulae with tab and carriage-return, with forced quotes",
2057
+ input: [{ "Col1": " danger", "Col2": "\rdanger,", "Col3": "safe\t\r" }],
2058
+ config: { escapeFormulae: true, quotes: true },
2059
+ expected: '"Col1","Col2","Col3"\r\n"\'\tdanger","\'\rdanger,","safe\t\r"'
2060
+ },
2061
+ {
2062
+ description: "Escape formulae with tab and carriage-return, with single-quote quoteChar and escapeChar",
2063
+ input: [{ "Col1": " danger", "Col2": "\rdanger,", "Col3": "safe, \t\r" }],
2064
+ config: { escapeFormulae: true, quoteChar: "'", escapeChar: "'" },
2065
+ expected: 'Col1,Col2,Col3\r\n\'\'\'\tdanger\',\'\'\'\rdanger,\',\'safe, \t\r\''
2066
+ },
2067
+ {
2068
+ description: "Escape formulae with tab and carriage-return, with single-quote quoteChar and escapeChar and forced quotes",
2069
+ input: [{ "Col1": " danger", "Col2": "\rdanger,", "Col3": "safe, \t\r" }],
2070
+ config: { escapeFormulae: true, quotes: true, quoteChar: "'", escapeChar: "'" },
2071
+ expected: '\'Col1\',\'Col2\',\'Col3\'\r\n\'\'\'\tdanger\',\'\'\'\rdanger,\',\'safe, \t\r\''
2072
+ },
2073
+ ];
2074
+
2075
+ describe('Unparse Tests', function() {
2076
+ function generateTest(test) {
2077
+ (test.disabled ? it.skip : it)(test.description, function() {
2078
+ var actual;
2079
+
2080
+ try {
2081
+ actual = Papa.unparse(test.input, test.config);
2082
+ } catch (e) {
2083
+ if (e instanceof Error) {
2084
+ throw e;
2085
+ }
2086
+ actual = e;
2087
+ }
2088
+
2089
+ assert.strictEqual(actual, test.expected);
2090
+ });
2091
+ }
2092
+
2093
+ for (var i = 0; i < UNPARSE_TESTS.length; i++) {
2094
+ generateTest(UNPARSE_TESTS[i]);
2095
+ }
2096
+ });
2097
+
2098
+
2099
+
2100
+ var CUSTOM_TESTS = [
2101
+ {
2102
+ description: "Pause and resume works (Regression Test for Bug #636)",
2103
+ disabled: !XHR_ENABLED,
2104
+ timeout: 30000,
2105
+ expected: [2001, [
2106
+ ["Etiam a dolor vitae est vestibulum","84","DEF"],
2107
+ ["Etiam a dolor vitae est vestibulum","84","DEF"],
2108
+ ["Lorem ipsum dolor sit","42","ABC"],
2109
+ ["Etiam a dolor vitae est vestibulum","84","DEF"],
2110
+ ["Etiam a dolor vitae est vestibulum","84"],
2111
+ ["Lorem ipsum dolor sit","42","ABC"],
2112
+ ["Etiam a dolor vitae est vestibulum","84","DEF"],
2113
+ ["Etiam a dolor vitae est vestibulum","84","DEF"],
2114
+ ["Lorem ipsum dolor sit","42","ABC"],
2115
+ ["Lorem ipsum dolor sit","42"]
2116
+ ], 0],
2117
+ run: function(callback) {
2118
+ var stepped = 0;
2119
+ var dataRows = [];
2120
+ var errorCount = 0;
2121
+ var output = [];
2122
+ Papa.parse(BASE_PATH + "verylong-sample.csv", {
2123
+ download: true,
2124
+ step: function(results, parser) {
2125
+ stepped++;
2126
+ if (results)
2127
+ {
2128
+ parser.pause();
2129
+ parser.resume();
2130
+ if (results.data && stepped % 200 === 0) {
2131
+ dataRows.push(results.data);
2132
+ }
2133
+ }
2134
+ },
2135
+ complete: function() {
2136
+ output.push(stepped);
2137
+ output.push(dataRows);
2138
+ output.push(errorCount);
2139
+ callback(output);
2140
+ }
2141
+ });
2142
+ }
2143
+ },
2144
+ {
2145
+ description: "Pause and resume works for chunks with NetworkStreamer",
2146
+ disabled: !XHR_ENABLED,
2147
+ timeout: 30000,
2148
+ expected: ["Etiam a dolor vitae est vestibulum", "84", "DEF"],
2149
+ run: function(callback) {
2150
+ var chunkNum = 0;
2151
+ Papa.parse(BASE_PATH + "verylong-sample.csv", {
2152
+ download: true,
2153
+ chunkSize: 1000,
2154
+ chunk: function(results, parser) {
2155
+ chunkNum++;
2156
+ parser.pause();
2157
+
2158
+ if (chunkNum === 2) {
2159
+ callback(results.data[0]);
2160
+ return;
2161
+ }
2162
+
2163
+ parser.resume();
2164
+ },
2165
+ complete: function() {
2166
+ callback(new Error("Should have found matched row before parsing whole file"));
2167
+ }
2168
+ });
2169
+ }
2170
+ },
2171
+ {
2172
+ description: "Pause and resume works for chunks with FileStreamer",
2173
+ disabled: !XHR_ENABLED,
2174
+ timeout: 30000,
2175
+ expected: ["Etiam a dolor vitae est vestibulum", "84", "DEF"],
2176
+ run: function(callback) {
2177
+ var chunkNum = 0;
2178
+ var xhr = new XMLHttpRequest();
2179
+ xhr.onload = function() {
2180
+ Papa.parse(new File([xhr.responseText], './verylong-sample.csv'), {
2181
+ chunkSize: 1000,
2182
+ chunk: function(results, parser) {
2183
+ chunkNum++;
2184
+ parser.pause();
2185
+
2186
+ if (chunkNum === 2) {
2187
+ callback(results.data[0]);
2188
+ return;
2189
+ }
2190
+
2191
+ parser.resume();
2192
+ },
2193
+ complete: function() {
2194
+ callback(new Error("Should have found matched row before parsing whole file"));
2195
+ }
2196
+ });
2197
+ };
2198
+
2199
+ xhr.open("GET", BASE_PATH + "verylong-sample.csv");
2200
+ try {
2201
+ xhr.send();
2202
+ } catch (err) {
2203
+ callback(err);
2204
+ return;
2205
+ }
2206
+ }
2207
+ },
2208
+ {
2209
+ description: "Pause and resume works for chunks with StringStreamer",
2210
+ disabled: !XHR_ENABLED,
2211
+ timeout: 30000,
2212
+ // Test also with string as byte size may be diferent
2213
+ expected: ["Etiam a dolor vitae est vestibulum", "84", "DEF"],
2214
+ run: function(callback) {
2215
+ var chunkNum = 0;
2216
+ var xhr = new XMLHttpRequest();
2217
+ xhr.onload = function() {
2218
+ Papa.parse(xhr.responseText, {
2219
+ chunkSize: 1000,
2220
+ chunk: function(results, parser) {
2221
+ chunkNum++;
2222
+ parser.pause();
2223
+
2224
+ if (chunkNum === 2) {
2225
+ callback(results.data[0]);
2226
+ return;
2227
+ }
2228
+
2229
+ parser.resume();
2230
+ },
2231
+ complete: function() {
2232
+ callback(new Error("Should have found matched row before parsing whole file"));
2233
+ }
2234
+ });
2235
+ };
2236
+
2237
+ xhr.open("GET", BASE_PATH + "verylong-sample.csv");
2238
+ try {
2239
+ xhr.send();
2240
+ } catch (err) {
2241
+ callback(err);
2242
+ return;
2243
+ }
2244
+ }
2245
+ },
2246
+ {
2247
+ description: "Complete is called with all results if neither step nor chunk is defined",
2248
+ expected: [['A', 'b', 'c'], ['d', 'E', 'f'], ['G', 'h', 'i']],
2249
+ disabled: !FILES_ENABLED,
2250
+ run: function(callback) {
2251
+ Papa.parse(new File(['A,b,c\nd,E,f\nG,h,i'], 'sample.csv'), {
2252
+ chunkSize: 3,
2253
+ complete: function(response) {
2254
+ callback(response.data);
2255
+ }
2256
+ });
2257
+ }
2258
+ },
2259
+ {
2260
+ description: "Step is called for each row",
2261
+ expected: 2,
2262
+ run: function(callback) {
2263
+ var callCount = 0;
2264
+ Papa.parse('A,b,c\nd,E,f', {
2265
+ step: function() {
2266
+ callCount++;
2267
+ },
2268
+ complete: function() {
2269
+ callback(callCount);
2270
+ }
2271
+ });
2272
+ }
2273
+ },
2274
+ {
2275
+ description: "Data is correctly parsed with steps",
2276
+ expected: [['A', 'b', 'c'], ['d', 'E', 'f']],
2277
+ run: function(callback) {
2278
+ var data = [];
2279
+ Papa.parse('A,b,c\nd,E,f', {
2280
+ step: function(results) {
2281
+ data.push(results.data);
2282
+ },
2283
+ complete: function() {
2284
+ callback(data);
2285
+ }
2286
+ });
2287
+ }
2288
+ },
2289
+ {
2290
+ description: "Data is correctly parsed with steps (headers)",
2291
+ expected: [{One: 'A', Two: 'b', Three: 'c'}, {One: 'd', Two: 'E', Three: 'f'}],
2292
+ run: function(callback) {
2293
+ var data = [];
2294
+ Papa.parse('One,Two,Three\nA,b,c\nd,E,f', {
2295
+ header: true,
2296
+ step: function(results) {
2297
+ data.push(results.data);
2298
+ },
2299
+ complete: function() {
2300
+ callback(data);
2301
+ }
2302
+ });
2303
+ }
2304
+ },
2305
+ {
2306
+ description: "Data is correctly parsed with steps and worker (headers)",
2307
+ expected: [{One: 'A', Two: 'b', Three: 'c'}, {One: 'd', Two: 'E', Three: 'f'}],
2308
+ run: function(callback) {
2309
+ var data = [];
2310
+ Papa.parse('One,Two,Three\nA,b,c\nd,E,f', {
2311
+ header: true,
2312
+ worker: true,
2313
+ step: function(results) {
2314
+ data.push(results.data);
2315
+ },
2316
+ complete: function() {
2317
+ callback(data);
2318
+ }
2319
+ });
2320
+ }
2321
+ },
2322
+ {
2323
+ description: "Data is correctly parsed with steps and worker",
2324
+ expected: [['A', 'b', 'c'], ['d', 'E', 'f']],
2325
+ run: function(callback) {
2326
+ var data = [];
2327
+ Papa.parse('A,b,c\nd,E,f', {
2328
+ worker: true,
2329
+ step: function(results) {
2330
+ data.push(results.data);
2331
+ },
2332
+ complete: function() {
2333
+ callback(data);
2334
+ }
2335
+ });
2336
+ }
2337
+ },
2338
+ {
2339
+ description: "Data is correctly parsed with steps when skipping empty lines",
2340
+ expected: [['A', 'b', 'c'], ['d', 'E', 'f']],
2341
+ run: function(callback) {
2342
+ var data = [];
2343
+ Papa.parse('A,b,c\n\nd,E,f', {
2344
+ skipEmptyLines: true,
2345
+ step: function(results) {
2346
+ data.push(results.data);
2347
+ },
2348
+ complete: function() {
2349
+ callback(data);
2350
+ }
2351
+ });
2352
+ }
2353
+ },
2354
+ {
2355
+ description: "Data is correctly parsed with steps when there are empty values",
2356
+ expected: [{A: 'a', B: 'b', C: 'c', D: 'd'}, {A: 'a', B: '', C: '', D: ''}],
2357
+ run: function(callback) {
2358
+ var data = [];
2359
+ Papa.parse('A,B,C,D\na,b,c,d\na,,,', {
2360
+ header: true,
2361
+ step: function(results) {
2362
+ data.push(results.data);
2363
+ },
2364
+ complete: function() {
2365
+ callback(data);
2366
+ }
2367
+ });
2368
+ }
2369
+ },
2370
+ {
2371
+ description: "Step is called with the contents of the row",
2372
+ expected: ['A', 'b', 'c'],
2373
+ run: function(callback) {
2374
+ Papa.parse('A,b,c', {
2375
+ step: function(response) {
2376
+ callback(response.data);
2377
+ }
2378
+ });
2379
+ }
2380
+ },
2381
+ {
2382
+ description: "Step is called with the last cursor position",
2383
+ expected: [6, 12, 17],
2384
+ run: function(callback) {
2385
+ var updates = [];
2386
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2387
+ step: function(response) {
2388
+ updates.push(response.meta.cursor);
2389
+ },
2390
+ complete: function() {
2391
+ callback(updates);
2392
+ }
2393
+ });
2394
+ }
2395
+ },
2396
+ {
2397
+ description: "Step exposes cursor for downloads",
2398
+ expected: [129, 287, 452, 595, 727, 865, 1031, 1209],
2399
+ disabled: !XHR_ENABLED,
2400
+ run: function(callback) {
2401
+ var updates = [];
2402
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2403
+ download: true,
2404
+ step: function(response) {
2405
+ updates.push(response.meta.cursor);
2406
+ },
2407
+ complete: function() {
2408
+ callback(updates);
2409
+ }
2410
+ });
2411
+ }
2412
+ },
2413
+ {
2414
+ description: "Step exposes cursor for chunked downloads",
2415
+ expected: [129, 287, 452, 595, 727, 865, 1031, 1209],
2416
+ disabled: !XHR_ENABLED,
2417
+ run: function(callback) {
2418
+ var updates = [];
2419
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2420
+ download: true,
2421
+ chunkSize: 500,
2422
+ step: function(response) {
2423
+ updates.push(response.meta.cursor);
2424
+ },
2425
+ complete: function() {
2426
+ callback(updates);
2427
+ }
2428
+ });
2429
+ }
2430
+ },
2431
+ {
2432
+ description: "Step exposes cursor for workers",
2433
+ expected: [452, 452, 452, 865, 865, 865, 1209, 1209],
2434
+ disabled: !XHR_ENABLED,
2435
+ run: function(callback) {
2436
+ var updates = [];
2437
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2438
+ download: true,
2439
+ chunkSize: 500,
2440
+ worker: true,
2441
+ step: function(response) {
2442
+ updates.push(response.meta.cursor);
2443
+ },
2444
+ complete: function() {
2445
+ callback(updates);
2446
+ }
2447
+ });
2448
+ }
2449
+ },
2450
+ {
2451
+ description: "Chunk is called for each chunk",
2452
+ expected: [3, 3, 2],
2453
+ disabled: !XHR_ENABLED,
2454
+ run: function(callback) {
2455
+ var updates = [];
2456
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2457
+ download: true,
2458
+ chunkSize: 500,
2459
+ chunk: function(response) {
2460
+ updates.push(response.data.length);
2461
+ },
2462
+ complete: function() {
2463
+ callback(updates);
2464
+ }
2465
+ });
2466
+ }
2467
+ },
2468
+ {
2469
+ description: "Chunk is called with cursor position",
2470
+ expected: [452, 865, 1209],
2471
+ disabled: !XHR_ENABLED,
2472
+ run: function(callback) {
2473
+ var updates = [];
2474
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2475
+ download: true,
2476
+ chunkSize: 500,
2477
+ chunk: function(response) {
2478
+ updates.push(response.meta.cursor);
2479
+ },
2480
+ complete: function() {
2481
+ callback(updates);
2482
+ }
2483
+ });
2484
+ }
2485
+ },
2486
+ {
2487
+ description: "Chunk functions can pause parsing",
2488
+ expected: [
2489
+ [['A', 'b', 'c']]
2490
+ ],
2491
+ run: function(callback) {
2492
+ var updates = [];
2493
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2494
+ chunkSize: 10,
2495
+ chunk: function(response, handle) {
2496
+ updates.push(response.data);
2497
+ handle.pause();
2498
+ callback(updates);
2499
+ },
2500
+ complete: function() {
2501
+ callback(new Error('incorrect complete callback'));
2502
+ }
2503
+ });
2504
+ }
2505
+ },
2506
+ {
2507
+ description: "Chunk functions can resume parsing",
2508
+ expected: [
2509
+ [['A', 'b', 'c']],
2510
+ [['d', 'E', 'f'], ['G', 'h', 'i']]
2511
+ ],
2512
+ run: function(callback) {
2513
+ var updates = [];
2514
+ var handle = null;
2515
+ var first = true;
2516
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2517
+ chunkSize: 10,
2518
+ chunk: function(response, h) {
2519
+ updates.push(response.data);
2520
+ if (!first) return;
2521
+ handle = h;
2522
+ handle.pause();
2523
+ first = false;
2524
+ },
2525
+ complete: function() {
2526
+ callback(updates);
2527
+ }
2528
+ });
2529
+ setTimeout(function() {
2530
+ handle.resume();
2531
+ }, 500);
2532
+ }
2533
+ },
2534
+ {
2535
+ description: "Chunk functions can abort parsing",
2536
+ expected: [
2537
+ [['A', 'b', 'c']]
2538
+ ],
2539
+ run: function(callback) {
2540
+ var updates = [];
2541
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2542
+ chunkSize: 1,
2543
+ chunk: function(response, handle) {
2544
+ if (response.data.length) {
2545
+ updates.push(response.data);
2546
+ handle.abort();
2547
+ }
2548
+ },
2549
+ complete: function(response) {
2550
+ callback(updates);
2551
+ }
2552
+ });
2553
+ }
2554
+ },
2555
+ {
2556
+ description: "Step exposes indexes for files",
2557
+ expected: [6, 12, 17],
2558
+ disabled: !FILES_ENABLED,
2559
+ run: function(callback) {
2560
+ var updates = [];
2561
+ Papa.parse(new File(['A,b,c\nd,E,f\nG,h,i'], 'sample.csv'), {
2562
+ download: true,
2563
+ step: function(response) {
2564
+ updates.push(response.meta.cursor);
2565
+ },
2566
+ complete: function() {
2567
+ callback(updates);
2568
+ }
2569
+ });
2570
+ }
2571
+ },
2572
+ {
2573
+ description: "Step exposes indexes for chunked files",
2574
+ expected: [6, 12, 17],
2575
+ disabled: !FILES_ENABLED,
2576
+ run: function(callback) {
2577
+ var updates = [];
2578
+ Papa.parse(new File(['A,b,c\nd,E,f\nG,h,i'], 'sample.csv'), {
2579
+ chunkSize: 3,
2580
+ step: function(response) {
2581
+ updates.push(response.meta.cursor);
2582
+ },
2583
+ complete: function() {
2584
+ callback(updates);
2585
+ }
2586
+ });
2587
+ }
2588
+ },
2589
+ {
2590
+ description: "Quoted line breaks near chunk boundaries are handled",
2591
+ expected: [['A', 'B', 'C'], ['X', 'Y\n1\n2\n3', 'Z']],
2592
+ disabled: !FILES_ENABLED,
2593
+ run: function(callback) {
2594
+ var updates = [];
2595
+ Papa.parse(new File(['A,B,C\nX,"Y\n1\n2\n3",Z'], 'sample.csv'), {
2596
+ chunkSize: 3,
2597
+ step: function(response) {
2598
+ updates.push(response.data);
2599
+ },
2600
+ complete: function() {
2601
+ callback(updates);
2602
+ }
2603
+ });
2604
+ }
2605
+ },
2606
+ {
2607
+ description: "Step functions can abort parsing",
2608
+ expected: [['A', 'b', 'c']],
2609
+ run: function(callback) {
2610
+ var updates = [];
2611
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2612
+ step: function(response, handle) {
2613
+ updates.push(response.data);
2614
+ handle.abort();
2615
+ callback(updates);
2616
+ },
2617
+ chunkSize: 6
2618
+ });
2619
+ }
2620
+ },
2621
+ {
2622
+ description: "Complete is called after aborting",
2623
+ expected: true,
2624
+ run: function(callback) {
2625
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2626
+ step: function(response, handle) {
2627
+ handle.abort();
2628
+ },
2629
+ chunkSize: 6,
2630
+ complete: function(response) {
2631
+ callback(response.meta.aborted);
2632
+ }
2633
+ });
2634
+ }
2635
+ },
2636
+ {
2637
+ description: "Step functions can pause parsing",
2638
+ expected: [['A', 'b', 'c']],
2639
+ run: function(callback) {
2640
+ var updates = [];
2641
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2642
+ step: function(response, handle) {
2643
+ updates.push(response.data);
2644
+ handle.pause();
2645
+ callback(updates);
2646
+ },
2647
+ complete: function() {
2648
+ callback('incorrect complete callback');
2649
+ }
2650
+ });
2651
+ }
2652
+ },
2653
+ {
2654
+ description: "Step functions can resume parsing",
2655
+ expected: [['A', 'b', 'c'], ['d', 'E', 'f'], ['G', 'h', 'i']],
2656
+ run: function(callback) {
2657
+ var updates = [];
2658
+ var handle = null;
2659
+ var first = true;
2660
+ Papa.parse('A,b,c\nd,E,f\nG,h,i', {
2661
+ step: function(response, h) {
2662
+ updates.push(response.data);
2663
+ if (!first) return;
2664
+ handle = h;
2665
+ handle.pause();
2666
+ first = false;
2667
+ },
2668
+ complete: function() {
2669
+ callback(updates);
2670
+ }
2671
+ });
2672
+ setTimeout(function() {
2673
+ handle.resume();
2674
+ }, 500);
2675
+ }
2676
+ },
2677
+ {
2678
+ description: "Step functions can abort workers",
2679
+ expected: 1,
2680
+ disabled: !XHR_ENABLED,
2681
+ run: function(callback) {
2682
+ var updates = 0;
2683
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2684
+ worker: true,
2685
+ download: true,
2686
+ chunkSize: 500,
2687
+ step: function(response, handle) {
2688
+ updates++;
2689
+ handle.abort();
2690
+ },
2691
+ complete: function() {
2692
+ callback(updates);
2693
+ }
2694
+ });
2695
+ }
2696
+ },
2697
+ {
2698
+ description: "beforeFirstChunk manipulates only first chunk",
2699
+ expected: 7,
2700
+ disabled: !XHR_ENABLED,
2701
+ run: function(callback) {
2702
+ var updates = 0;
2703
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2704
+ download: true,
2705
+ chunkSize: 500,
2706
+ beforeFirstChunk: function(chunk) {
2707
+ return chunk.replace(/.*?\n/, '');
2708
+ },
2709
+ step: function(response) {
2710
+ updates++;
2711
+ },
2712
+ complete: function() {
2713
+ callback(updates);
2714
+ }
2715
+ });
2716
+ }
2717
+ },
2718
+ {
2719
+ description: "First chunk not modified if beforeFirstChunk returns nothing",
2720
+ expected: 8,
2721
+ disabled: !XHR_ENABLED,
2722
+ run: function(callback) {
2723
+ var updates = 0;
2724
+ Papa.parse(BASE_PATH + "long-sample.csv", {
2725
+ download: true,
2726
+ chunkSize: 500,
2727
+ beforeFirstChunk: function(chunk) {
2728
+ },
2729
+ step: function(response) {
2730
+ updates++;
2731
+ },
2732
+ complete: function() {
2733
+ callback(updates);
2734
+ }
2735
+ });
2736
+ }
2737
+ },
2738
+ {
2739
+ description: "Should correctly guess custom delimiter when passed delimiters to guess.",
2740
+ expected: "~",
2741
+ run: function(callback) {
2742
+ var results = Papa.parse('"A"~"B"~"C"~"D"', {
2743
+ delimitersToGuess: ['~', '@', '%']
2744
+ });
2745
+ callback(results.meta.delimiter);
2746
+ }
2747
+ },
2748
+ {
2749
+ description: "Should still correctly guess default delimiters when delimiters to guess are not given.",
2750
+ expected: ",",
2751
+ run: function(callback) {
2752
+ var results = Papa.parse('"A","B","C","D"');
2753
+ callback(results.meta.delimiter);
2754
+ }
2755
+ },
2756
+ {
2757
+ description: "Data is correctly parsed with chunks and duplicated headers",
2758
+ expected: [{h0: 'a', h1: 'a'}, {h0: 'b', h1: 'b'}],
2759
+ run: function(callback) {
2760
+ var data = [];
2761
+ Papa.parse('h0,h1\na,a\nb,b', {
2762
+ header: true,
2763
+ chunkSize: 10,
2764
+ chunk: function(results) {
2765
+ data.push(results.data[0]);
2766
+ },
2767
+ complete: function() {
2768
+ callback(data);
2769
+ }
2770
+ });
2771
+ }
2772
+ },
2773
+ ];
2774
+
2775
+ describe('Custom Tests', function() {
2776
+ function generateTest(test) {
2777
+ (test.disabled ? it.skip : it)(test.description, function(done) {
2778
+ if(test.timeout) {
2779
+ this.timeout(test.timeout);
2780
+ }
2781
+ test.run(function(actual) {
2782
+ assert.deepEqual(actual, test.expected);
2783
+ done();
2784
+ });
2785
+ });
2786
+ }
2787
+
2788
+ for (var i = 0; i < CUSTOM_TESTS.length; i++) {
2789
+ generateTest(CUSTOM_TESTS[i]);
2790
+ }
2791
+ });
2792
+
2793
+ (typeof window !== "undefined" ? describe : describe.skip)("Browser Tests", () => {
2794
+ it("When parsing synchronously inside a web-worker not owned by PapaParse we should not invoke postMessage", async() => {
2795
+ // Arrange
2796
+ const papaParseScriptPath = new URL("../papaparse.js", window.document.baseURI).href;
2797
+
2798
+ // Define our custom web-worker that loads PapaParse and executes a synchronous parse
2799
+ const blob = new Blob([
2800
+ `
2801
+ importScripts('${papaParseScriptPath}');
2802
+
2803
+ self.addEventListener("message", function(event) {
2804
+ if (event.data === "ExecuteParse") {
2805
+ // Perform our synchronous parse, as requested
2806
+ const results = Papa.parse('x\\ny\\n');
2807
+ postMessage({type: "ParseExecutedSuccessfully", results});
2808
+ } else {
2809
+ // Otherwise, send whatever we received back. We shouldn't be hitting this (!) If we're reached
2810
+ // this it means PapaParse thinks it is running inside a web-worker that it owns
2811
+ postMessage(event.data);
2812
+ }
2813
+ });
2814
+ `
2815
+ ], {type: 'text/javascript'});
2816
+
2817
+ const blobURL = window.URL.createObjectURL(blob);
2818
+ const webWorker = new Worker(blobURL);
2819
+
2820
+ const receiveMessagePromise = new Promise((resolve, reject) => {
2821
+ webWorker.addEventListener("message", (event) => {
2822
+ if (event.data.type === "ParseExecutedSuccessfully") {
2823
+ resolve(event.data);
2824
+ } else {
2825
+ const error = new Error(`Received unexpected message: ${JSON.stringify(event.data, null, 2)}`);
2826
+ error.data = event.data;
2827
+ reject(error);
2828
+ }
2829
+ });
2830
+ });
2831
+
2832
+ // Act
2833
+ webWorker.postMessage("ExecuteParse");
2834
+ const webWorkerMessage = await receiveMessagePromise;
2835
+
2836
+ // Assert
2837
+ assert.equal("ParseExecutedSuccessfully", webWorkerMessage.type);
2838
+ assert.equal(3, webWorkerMessage.results.data.length);
2839
+ });
2840
+ });