@cj-tech-master/excelts 5.1.18 → 6.0.0-beta.1

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 (1201) hide show
  1. package/README.md +126 -22
  2. package/README_zh.md +124 -22
  3. package/THIRD_PARTY_NOTICES.md +0 -50
  4. package/dist/browser/index.browser.d.ts +34 -23
  5. package/dist/browser/index.browser.js +22 -14
  6. package/dist/browser/index.d.ts +38 -25
  7. package/dist/browser/index.js +22 -2
  8. package/dist/browser/modules/archive/compression/compress.base.d.ts +127 -3
  9. package/dist/browser/modules/archive/compression/compress.base.js +242 -3
  10. package/dist/browser/modules/archive/compression/compress.browser.d.ts +85 -35
  11. package/dist/browser/modules/archive/compression/compress.browser.js +363 -54
  12. package/dist/browser/modules/archive/compression/compress.d.ts +68 -4
  13. package/dist/browser/modules/archive/compression/compress.js +182 -23
  14. package/dist/browser/modules/archive/compression/crc32.base.d.ts +9 -0
  15. package/dist/browser/modules/archive/compression/crc32.base.js +12 -0
  16. package/dist/browser/modules/archive/compression/crc32.browser.d.ts +6 -1
  17. package/dist/browser/modules/archive/compression/crc32.browser.js +7 -0
  18. package/dist/browser/modules/archive/compression/crc32.d.ts +7 -1
  19. package/dist/browser/modules/archive/compression/crc32.js +42 -11
  20. package/dist/browser/modules/archive/compression/deflate-fallback.d.ts +38 -0
  21. package/dist/browser/modules/archive/compression/deflate-fallback.js +219 -78
  22. package/dist/browser/modules/archive/compression/streaming-compress.base.d.ts +45 -1
  23. package/dist/browser/modules/archive/compression/streaming-compress.base.js +2 -3
  24. package/dist/browser/modules/archive/compression/streaming-compress.browser.d.ts +27 -7
  25. package/dist/browser/modules/archive/compression/streaming-compress.browser.js +225 -202
  26. package/dist/browser/modules/archive/compression/streaming-compress.d.ts +46 -3
  27. package/dist/browser/modules/archive/compression/streaming-compress.js +83 -28
  28. package/dist/browser/modules/archive/compression/worker-pool/index.browser.d.ts +6 -0
  29. package/dist/browser/modules/archive/compression/worker-pool/index.browser.js +6 -0
  30. package/dist/browser/modules/archive/compression/worker-pool/index.d.ts +26 -0
  31. package/dist/browser/modules/archive/compression/worker-pool/index.js +53 -0
  32. package/dist/browser/modules/archive/compression/worker-pool/pool.base.d.ts +34 -0
  33. package/dist/browser/modules/archive/compression/worker-pool/pool.base.js +56 -0
  34. package/dist/browser/modules/archive/compression/worker-pool/pool.browser.d.ts +182 -0
  35. package/dist/browser/modules/archive/compression/worker-pool/pool.browser.js +857 -0
  36. package/dist/browser/modules/archive/compression/worker-pool/types.d.ts +170 -0
  37. package/dist/browser/modules/archive/compression/worker-pool/types.js +7 -0
  38. package/dist/browser/modules/archive/compression/worker-pool/worker-script.d.ts +26 -0
  39. package/dist/browser/modules/archive/compression/worker-pool/worker-script.js +337 -0
  40. package/dist/browser/modules/archive/crypto/aes.d.ts +203 -0
  41. package/dist/browser/modules/archive/crypto/aes.js +394 -0
  42. package/dist/browser/modules/archive/crypto/index.d.ts +17 -0
  43. package/dist/browser/modules/archive/crypto/index.js +20 -0
  44. package/dist/browser/modules/archive/crypto/types.d.ts +53 -0
  45. package/dist/browser/modules/archive/crypto/types.js +47 -0
  46. package/dist/browser/modules/archive/crypto/zip-crypto.d.ts +105 -0
  47. package/dist/browser/modules/archive/crypto/zip-crypto.js +203 -0
  48. package/dist/browser/modules/archive/formats/index.d.ts +9 -0
  49. package/dist/browser/modules/archive/formats/index.js +28 -0
  50. package/dist/browser/modules/archive/formats/types.d.ts +1 -0
  51. package/dist/browser/modules/archive/formats/types.js +1 -0
  52. package/dist/browser/modules/archive/fs/archive-file.d.ts +403 -0
  53. package/dist/browser/modules/archive/fs/archive-file.js +2684 -0
  54. package/dist/browser/modules/archive/fs/index.d.ts +61 -0
  55. package/dist/browser/modules/archive/fs/index.js +61 -0
  56. package/dist/browser/modules/archive/fs/types.d.ts +517 -0
  57. package/dist/browser/modules/archive/fs/types.js +9 -0
  58. package/dist/browser/modules/archive/index.base.d.ts +13 -4
  59. package/dist/browser/modules/archive/index.base.js +26 -1
  60. package/dist/browser/modules/archive/index.browser.d.ts +5 -4
  61. package/dist/browser/modules/archive/index.browser.js +10 -2
  62. package/dist/browser/modules/archive/index.d.ts +8 -4
  63. package/dist/browser/modules/archive/index.js +16 -2
  64. package/dist/browser/modules/archive/io/archive-sink.js +4 -3
  65. package/dist/browser/modules/archive/io/archive-source.d.ts +31 -1
  66. package/dist/browser/modules/archive/io/archive-source.js +156 -10
  67. package/dist/browser/modules/archive/io/archive-source.node.d.ts +10 -0
  68. package/dist/browser/modules/archive/io/archive-source.node.js +10 -0
  69. package/dist/browser/modules/archive/io/random-access.d.ts +165 -0
  70. package/dist/browser/modules/archive/io/random-access.js +301 -0
  71. package/dist/browser/modules/archive/io/remote-zip-reader.d.ts +352 -0
  72. package/dist/browser/modules/archive/io/remote-zip-reader.js +782 -0
  73. package/dist/browser/modules/archive/{utils → shared}/async-queue.d.ts +3 -1
  74. package/dist/browser/modules/archive/{utils → shared}/async-queue.js +40 -8
  75. package/dist/{types/modules/archive/internal → browser/modules/archive/shared}/byte-queue.d.ts +5 -1
  76. package/dist/{esm/modules/archive/internal → browser/modules/archive/shared}/byte-queue.js +59 -30
  77. package/dist/browser/modules/archive/shared/bytes.d.ts +19 -0
  78. package/dist/{esm/modules/archive/utils → browser/modules/archive/shared}/bytes.js +14 -25
  79. package/dist/browser/modules/archive/shared/defaults.d.ts +12 -0
  80. package/dist/browser/modules/archive/{defaults.js → shared/defaults.js} +7 -0
  81. package/dist/browser/modules/archive/shared/errors.d.ts +118 -0
  82. package/dist/browser/modules/archive/shared/errors.js +171 -0
  83. package/dist/browser/modules/archive/shared/progress.d.ts +62 -0
  84. package/dist/browser/modules/archive/shared/progress.js +92 -0
  85. package/dist/browser/modules/archive/shared/text.d.ts +96 -0
  86. package/dist/browser/modules/archive/shared/text.js +262 -0
  87. package/dist/browser/modules/archive/tar/index.browser.d.ts +11 -0
  88. package/dist/browser/modules/archive/tar/index.browser.js +18 -0
  89. package/dist/browser/modules/archive/tar/index.d.ts +13 -0
  90. package/dist/browser/modules/archive/tar/index.js +16 -0
  91. package/dist/browser/modules/archive/tar/tar-archive.d.ts +234 -0
  92. package/dist/browser/modules/archive/tar/tar-archive.js +519 -0
  93. package/dist/browser/modules/archive/tar/tar-constants.d.ts +102 -0
  94. package/dist/browser/modules/archive/tar/tar-constants.js +59 -0
  95. package/dist/browser/modules/archive/tar/tar-entry-info.d.ts +55 -0
  96. package/dist/browser/modules/archive/tar/tar-entry-info.js +43 -0
  97. package/dist/browser/modules/archive/tar/tar-gzip.d.ts +64 -0
  98. package/dist/browser/modules/archive/tar/tar-gzip.js +119 -0
  99. package/dist/browser/modules/archive/tar/tar-header.d.ts +56 -0
  100. package/dist/browser/modules/archive/tar/tar-header.js +311 -0
  101. package/dist/browser/modules/archive/tar/tar-parser.d.ts +40 -0
  102. package/dist/browser/modules/archive/tar/tar-parser.js +366 -0
  103. package/dist/browser/modules/archive/unzip/extract.d.ts +15 -8
  104. package/dist/browser/modules/archive/unzip/extract.js +13 -3
  105. package/dist/browser/modules/archive/unzip/index.d.ts +28 -40
  106. package/dist/browser/modules/archive/unzip/index.js +3 -162
  107. package/dist/browser/modules/archive/unzip/parser-core.d.ts +117 -0
  108. package/dist/browser/modules/archive/unzip/parser-core.js +316 -0
  109. package/dist/browser/modules/archive/unzip/progress.d.ts +36 -0
  110. package/dist/browser/modules/archive/unzip/progress.js +1 -0
  111. package/dist/browser/modules/archive/unzip/stream.base.d.ts +25 -156
  112. package/dist/browser/modules/archive/unzip/stream.base.js +210 -440
  113. package/dist/browser/modules/archive/unzip/stream.browser.d.ts +3 -2
  114. package/dist/browser/modules/archive/unzip/stream.browser.js +107 -57
  115. package/dist/browser/modules/archive/unzip/stream.d.ts +5 -4
  116. package/dist/browser/modules/archive/unzip/stream.js +68 -8
  117. package/dist/browser/modules/archive/unzip/zip-extract-core.d.ts +90 -0
  118. package/dist/browser/modules/archive/unzip/zip-extract-core.js +475 -0
  119. package/dist/browser/modules/archive/unzip/zip-parser.d.ts +77 -7
  120. package/dist/browser/modules/archive/unzip/zip-parser.js +146 -242
  121. package/dist/browser/modules/archive/unzip/zip-reader.d.ts +103 -0
  122. package/dist/browser/modules/archive/unzip/zip-reader.js +435 -0
  123. package/dist/browser/modules/archive/zip/compressibility.d.ts +20 -0
  124. package/dist/browser/modules/archive/zip/compressibility.js +127 -0
  125. package/dist/browser/modules/archive/zip/index.d.ts +27 -42
  126. package/dist/browser/modules/archive/zip/index.js +5 -155
  127. package/dist/browser/modules/archive/zip/progress.d.ts +39 -0
  128. package/dist/browser/modules/archive/zip/progress.js +1 -0
  129. package/dist/browser/modules/archive/zip/raw-entry.d.ts +64 -0
  130. package/dist/browser/modules/archive/zip/raw-entry.js +9 -0
  131. package/dist/browser/modules/archive/zip/stream.d.ts +178 -26
  132. package/dist/browser/modules/archive/zip/stream.js +728 -72
  133. package/dist/browser/modules/archive/zip/writable-file.d.ts +97 -0
  134. package/dist/browser/modules/archive/zip/writable-file.js +9 -0
  135. package/dist/browser/modules/archive/zip/writer-core.d.ts +77 -0
  136. package/dist/browser/modules/archive/zip/writer-core.js +270 -0
  137. package/dist/browser/modules/archive/zip/zip-archive.d.ts +121 -0
  138. package/dist/browser/modules/archive/zip/zip-archive.js +448 -0
  139. package/dist/browser/modules/archive/zip/zip-bytes.d.ts +71 -4
  140. package/dist/browser/modules/archive/zip/zip-bytes.js +293 -116
  141. package/dist/browser/modules/archive/zip/zip-edit-plan.d.ts +123 -0
  142. package/dist/browser/modules/archive/zip/zip-edit-plan.js +183 -0
  143. package/dist/browser/modules/archive/zip/zip-edit-view.d.ts +155 -0
  144. package/dist/browser/modules/archive/zip/zip-edit-view.js +227 -0
  145. package/dist/browser/modules/archive/zip/zip-editor.d.ts +359 -0
  146. package/dist/browser/modules/archive/zip/zip-editor.js +758 -0
  147. package/dist/browser/modules/archive/zip/zip-entry-attributes.d.ts +10 -0
  148. package/dist/browser/modules/archive/zip/zip-entry-attributes.js +59 -0
  149. package/dist/browser/modules/archive/zip/zip-entry-metadata.d.ts +11 -2
  150. package/dist/browser/modules/archive/zip/zip-entry-metadata.js +29 -9
  151. package/dist/browser/modules/archive/zip/zip-entry-options.d.ts +47 -0
  152. package/dist/browser/modules/archive/zip/zip-entry-options.js +22 -0
  153. package/dist/browser/modules/archive/zip-spec/binary.d.ts +42 -0
  154. package/dist/browser/modules/archive/zip-spec/binary.js +126 -0
  155. package/dist/browser/modules/archive/{utils → zip-spec}/timestamps.d.ts +17 -2
  156. package/dist/browser/modules/archive/{utils → zip-spec}/timestamps.js +75 -15
  157. package/dist/browser/modules/archive/zip-spec/zip-entry-info.d.ts +47 -3
  158. package/dist/browser/modules/archive/zip-spec/zip-entry-info.js +6 -1
  159. package/dist/browser/modules/archive/zip-spec/zip-extra-fields.d.ts +90 -0
  160. package/dist/browser/modules/archive/zip-spec/zip-extra-fields.js +215 -0
  161. package/dist/browser/modules/archive/zip-spec/zip-parser-core.d.ts +147 -0
  162. package/dist/browser/modules/archive/zip-spec/zip-parser-core.js +361 -0
  163. package/dist/browser/modules/archive/zip-spec/zip-path.d.ts +15 -0
  164. package/dist/browser/modules/archive/zip-spec/zip-path.js +87 -0
  165. package/dist/browser/modules/archive/zip-spec/zip-records.d.ts +70 -0
  166. package/dist/browser/modules/archive/zip-spec/zip-records.js +154 -0
  167. package/dist/browser/modules/csv/constants.d.ts +18 -0
  168. package/dist/browser/modules/csv/constants.js +66 -0
  169. package/dist/browser/modules/csv/errors.d.ts +16 -0
  170. package/dist/browser/modules/csv/errors.js +22 -0
  171. package/dist/browser/modules/csv/format/config.d.ts +121 -0
  172. package/dist/browser/modules/csv/format/config.js +106 -0
  173. package/dist/browser/modules/csv/format/formatted-value.d.ts +82 -0
  174. package/dist/browser/modules/csv/format/formatted-value.js +76 -0
  175. package/dist/browser/modules/csv/format/formatter.d.ts +71 -0
  176. package/dist/browser/modules/csv/format/formatter.js +397 -0
  177. package/dist/browser/modules/csv/format/index.d.ts +10 -0
  178. package/dist/browser/modules/csv/format/index.js +12 -0
  179. package/dist/browser/modules/csv/index.d.ts +23 -0
  180. package/dist/browser/modules/csv/index.js +47 -0
  181. package/dist/browser/modules/csv/parse/async.d.ts +111 -0
  182. package/dist/browser/modules/csv/parse/async.js +288 -0
  183. package/dist/browser/modules/csv/parse/config.d.ts +100 -0
  184. package/dist/browser/modules/csv/parse/config.js +159 -0
  185. package/dist/browser/modules/csv/parse/helpers.d.ts +114 -0
  186. package/dist/browser/modules/csv/parse/helpers.js +225 -0
  187. package/dist/browser/modules/csv/parse/index.d.ts +16 -0
  188. package/dist/browser/modules/csv/parse/index.js +19 -0
  189. package/dist/browser/modules/csv/parse/lines.d.ts +23 -0
  190. package/dist/browser/modules/csv/parse/lines.js +82 -0
  191. package/dist/browser/modules/csv/parse/row-processor.d.ts +61 -0
  192. package/dist/browser/modules/csv/parse/row-processor.js +203 -0
  193. package/dist/browser/modules/csv/parse/scanner/index.d.ts +10 -0
  194. package/dist/browser/modules/csv/parse/scanner/index.js +12 -0
  195. package/dist/browser/modules/csv/parse/scanner/scanner.d.ts +154 -0
  196. package/dist/browser/modules/csv/parse/scanner/scanner.js +852 -0
  197. package/dist/browser/modules/csv/parse/scanner/types.d.ts +185 -0
  198. package/dist/browser/modules/csv/parse/scanner/types.js +25 -0
  199. package/dist/browser/modules/csv/parse/state.d.ts +46 -0
  200. package/dist/browser/modules/csv/parse/state.js +96 -0
  201. package/dist/browser/modules/csv/parse/sync.d.ts +59 -0
  202. package/dist/browser/modules/csv/parse/sync.js +429 -0
  203. package/dist/browser/modules/csv/stream/formatter.d.ts +55 -0
  204. package/dist/browser/modules/csv/stream/formatter.js +160 -0
  205. package/dist/browser/modules/csv/stream/index.d.ts +10 -0
  206. package/dist/browser/modules/csv/stream/index.js +16 -0
  207. package/dist/browser/modules/csv/stream/parser.d.ts +141 -0
  208. package/dist/browser/modules/csv/stream/parser.js +928 -0
  209. package/dist/browser/modules/csv/types.d.ts +438 -0
  210. package/dist/browser/modules/csv/types.js +67 -0
  211. package/dist/browser/modules/csv/utils/detect.d.ts +100 -0
  212. package/dist/browser/modules/csv/utils/detect.js +325 -0
  213. package/dist/browser/modules/csv/utils/dynamic-typing.d.ts +71 -0
  214. package/dist/browser/modules/csv/utils/dynamic-typing.js +297 -0
  215. package/dist/browser/modules/csv/utils/generate.d.ts +306 -0
  216. package/dist/browser/modules/csv/utils/generate.js +960 -0
  217. package/dist/browser/modules/csv/utils/number.d.ts +36 -0
  218. package/dist/browser/modules/csv/utils/number.js +49 -0
  219. package/dist/browser/modules/csv/utils/row.d.ts +111 -0
  220. package/dist/browser/modules/csv/utils/row.js +255 -0
  221. package/dist/browser/modules/csv/worker/index.browser.d.ts +6 -0
  222. package/dist/browser/modules/csv/worker/index.browser.js +5 -0
  223. package/dist/browser/modules/csv/worker/index.d.ts +7 -0
  224. package/dist/browser/modules/csv/worker/index.js +6 -0
  225. package/dist/browser/modules/csv/worker/pool.browser.d.ts +193 -0
  226. package/dist/browser/modules/csv/worker/pool.browser.js +602 -0
  227. package/dist/browser/modules/csv/worker/pool.d.ts +14 -0
  228. package/dist/browser/modules/csv/worker/pool.js +54 -0
  229. package/dist/browser/modules/csv/worker/types.d.ts +195 -0
  230. package/dist/browser/modules/csv/worker/types.js +7 -0
  231. package/dist/browser/modules/csv/worker/worker-script.bundle.d.ts +10 -0
  232. package/dist/browser/modules/csv/worker/worker-script.bundle.js +41 -0
  233. package/dist/browser/modules/csv/worker/worker-script.generated.d.ts +6 -0
  234. package/dist/browser/modules/csv/worker/worker-script.generated.js +6 -0
  235. package/dist/browser/modules/csv/worker/worker.entry.d.ts +11 -0
  236. package/dist/browser/modules/csv/worker/worker.entry.js +413 -0
  237. package/dist/browser/modules/excel/anchor.d.ts +1 -1
  238. package/dist/browser/modules/excel/cell.d.ts +7 -7
  239. package/dist/browser/modules/excel/cell.js +4 -3
  240. package/dist/browser/modules/excel/column.d.ts +3 -3
  241. package/dist/browser/modules/excel/defined-names.d.ts +4 -4
  242. package/dist/browser/modules/excel/errors.d.ts +133 -0
  243. package/dist/browser/modules/excel/errors.js +176 -0
  244. package/dist/browser/modules/excel/form-control.d.ts +1 -1
  245. package/dist/browser/modules/excel/image.d.ts +2 -2
  246. package/dist/browser/modules/excel/image.js +2 -1
  247. package/dist/browser/modules/excel/pivot-table.d.ts +1 -1
  248. package/dist/browser/modules/excel/pivot-table.js +8 -7
  249. package/dist/browser/modules/excel/range.d.ts +1 -1
  250. package/dist/browser/modules/excel/range.js +2 -1
  251. package/dist/browser/modules/excel/row.d.ts +3 -3
  252. package/dist/browser/modules/excel/row.js +2 -1
  253. package/dist/browser/modules/excel/stream/hyperlink-reader.d.ts +2 -2
  254. package/dist/browser/modules/excel/stream/hyperlink-reader.js +1 -1
  255. package/dist/browser/modules/excel/stream/workbook-reader.browser.d.ts +6 -5
  256. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +14 -3
  257. package/dist/browser/modules/excel/stream/workbook-reader.d.ts +5 -5
  258. package/dist/browser/modules/excel/stream/workbook-reader.js +10 -9
  259. package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +16 -14
  260. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +13 -6
  261. package/dist/browser/modules/excel/stream/workbook-writer.d.ts +3 -3
  262. package/dist/browser/modules/excel/stream/workbook-writer.js +5 -6
  263. package/dist/browser/modules/excel/stream/worksheet-reader.d.ts +6 -6
  264. package/dist/browser/modules/excel/stream/worksheet-reader.js +8 -3
  265. package/dist/browser/modules/excel/stream/worksheet-writer.d.ts +5 -5
  266. package/dist/browser/modules/excel/stream/worksheet-writer.js +5 -4
  267. package/dist/browser/modules/excel/table.d.ts +4 -2
  268. package/dist/browser/modules/excel/table.js +52 -53
  269. package/dist/browser/modules/excel/types.d.ts +3 -1
  270. package/dist/browser/modules/excel/utils/cell-matrix.js +5 -4
  271. package/dist/browser/modules/excel/utils/col-cache.d.ts +1 -1
  272. package/dist/browser/modules/excel/utils/col-cache.js +7 -6
  273. package/dist/browser/modules/excel/utils/encryptor.browser.js +1 -1
  274. package/dist/browser/modules/excel/utils/encryptor.js +1 -1
  275. package/dist/browser/modules/excel/utils/ooxml-validator.js +8 -6
  276. package/dist/browser/modules/excel/utils/parse-sax.js +36 -27
  277. package/dist/browser/modules/excel/utils/sheet-utils.d.ts +8 -20
  278. package/dist/browser/modules/excel/utils/sheet-utils.js +1 -59
  279. package/dist/browser/modules/excel/utils/stream-buf.d.ts +2 -3
  280. package/dist/browser/modules/excel/utils/stream-buf.js +13 -20
  281. package/dist/browser/modules/excel/utils/xml-stream.js +3 -2
  282. package/dist/browser/modules/excel/workbook.browser.d.ts +327 -0
  283. package/dist/browser/modules/excel/workbook.browser.js +790 -0
  284. package/dist/browser/modules/excel/workbook.d.ts +15 -188
  285. package/dist/browser/modules/excel/workbook.js +39 -302
  286. package/dist/browser/modules/excel/worksheet.d.ts +11 -11
  287. package/dist/browser/modules/excel/worksheet.js +8 -7
  288. package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +1 -1
  289. package/dist/browser/modules/excel/xlsx/xform/base-xform.js +0 -1
  290. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  291. package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.d.ts +1 -1
  292. package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  293. package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  294. package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  295. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  296. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.d.ts +2 -2
  297. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +2 -2
  298. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +2 -2
  299. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  300. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  301. package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  302. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  303. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  304. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  305. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  306. package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  307. package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  308. package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  309. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.d.ts +1 -1
  310. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.d.ts +1 -1
  311. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.d.ts +1 -1
  312. package/dist/browser/modules/excel/xlsx/xform/core/feature-property-bag-xform.d.ts +1 -1
  313. package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.d.ts +1 -1
  314. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.d.ts +1 -1
  315. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.js +3 -2
  316. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  317. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  318. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  319. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  320. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  321. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  322. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +2 -2
  323. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  324. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  325. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  326. package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  327. package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  328. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  329. package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  330. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-xform.d.ts +1 -1
  331. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  332. package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.d.ts +2 -2
  333. package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +1 -1
  334. package/dist/browser/modules/excel/xlsx/xform/list-xform.js +2 -1
  335. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +2 -2
  336. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +1 -1
  337. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  338. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +3 -3
  339. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +2 -1
  340. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +3 -3
  341. package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  342. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  343. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +10 -4
  344. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  345. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  346. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  347. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  348. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  349. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  350. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  351. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  352. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  353. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  354. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  355. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  356. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  357. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  358. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  359. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  360. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  361. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  362. package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +1 -1
  363. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.d.ts +1 -1
  364. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  365. package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  366. package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  367. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  368. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  369. package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  370. package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  371. package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  372. package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  373. package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  374. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  375. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  376. package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  377. package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  378. package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  379. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -1
  380. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.js +2 -1
  381. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  382. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  383. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  384. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  385. package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  386. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  387. package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  388. package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.d.ts +1 -1
  389. package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.d.ts +1 -1
  390. package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.d.ts +1 -1
  391. package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.d.ts +1 -1
  392. package/dist/browser/modules/excel/xlsx/xform/static-xform.d.ts +1 -1
  393. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  394. package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  395. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  396. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  397. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.js +3 -2
  398. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.d.ts +1 -1
  399. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.js +3 -4
  400. package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.d.ts +1 -1
  401. package/dist/browser/modules/excel/xlsx/xform/style/border-xform.d.ts +2 -2
  402. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.d.ts +1 -1
  403. package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.d.ts +1 -1
  404. package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.d.ts +2 -2
  405. package/dist/browser/modules/excel/xlsx/xform/style/font-xform.d.ts +1 -1
  406. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  407. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.js +8 -2
  408. package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.d.ts +1 -1
  409. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.d.ts +3 -3
  410. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.d.ts +2 -2
  411. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.js +2 -1
  412. package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.d.ts +1 -1
  413. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  414. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +3 -2
  415. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  416. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  417. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.js +2 -1
  418. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -1
  419. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -1
  420. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  421. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -1
  422. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +4 -4
  423. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +11 -9
  424. package/dist/browser/modules/excel/xlsx/xlsx.d.ts +1 -1
  425. package/dist/browser/modules/excel/xlsx/xlsx.js +6 -6
  426. package/dist/browser/modules/stream/browser/_lazy.d.ts +18 -0
  427. package/dist/browser/modules/stream/browser/_lazy.js +30 -0
  428. package/dist/browser/modules/stream/browser/chunk-buffer.d.ts +61 -0
  429. package/dist/browser/modules/stream/browser/chunk-buffer.js +223 -0
  430. package/dist/browser/modules/stream/browser/collector.d.ts +25 -0
  431. package/dist/browser/modules/stream/browser/collector.js +66 -0
  432. package/dist/browser/modules/stream/browser/compose.d.ts +19 -0
  433. package/dist/browser/modules/stream/browser/compose.js +231 -0
  434. package/dist/browser/modules/stream/browser/duplex.d.ts +296 -0
  435. package/dist/browser/modules/stream/browser/duplex.js +966 -0
  436. package/dist/browser/modules/stream/browser/factories.d.ts +80 -0
  437. package/dist/browser/modules/stream/browser/factories.js +212 -0
  438. package/dist/browser/modules/stream/browser/helpers.d.ts +13 -0
  439. package/dist/browser/modules/stream/browser/helpers.js +44 -0
  440. package/dist/browser/modules/stream/browser/microtask-context.d.ts +44 -0
  441. package/dist/browser/modules/stream/browser/microtask-context.js +60 -0
  442. package/dist/browser/modules/stream/browser/passthrough.d.ts +15 -0
  443. package/dist/browser/modules/stream/browser/passthrough.js +19 -0
  444. package/dist/browser/modules/stream/browser/pipe-manager.d.ts +38 -0
  445. package/dist/browser/modules/stream/browser/pipe-manager.js +158 -0
  446. package/dist/browser/modules/stream/browser/pipeline.d.ts +51 -0
  447. package/dist/browser/modules/stream/browser/pipeline.js +486 -0
  448. package/dist/browser/modules/stream/browser/readable.d.ts +379 -0
  449. package/dist/browser/modules/stream/browser/readable.js +2173 -0
  450. package/dist/browser/modules/stream/browser/transform.d.ts +314 -0
  451. package/dist/browser/modules/stream/browser/transform.js +1235 -0
  452. package/dist/browser/modules/stream/browser/utils.d.ts +62 -0
  453. package/dist/browser/modules/stream/browser/utils.js +256 -0
  454. package/dist/browser/modules/stream/browser/writable.d.ts +235 -0
  455. package/dist/browser/modules/stream/browser/writable.js +1302 -0
  456. package/dist/browser/modules/stream/buffered-stream.d.ts +6 -5
  457. package/dist/browser/modules/stream/buffered-stream.js +28 -10
  458. package/dist/browser/modules/stream/chunked-builder.d.ts +9 -2
  459. package/dist/browser/modules/stream/chunked-builder.js +16 -3
  460. package/dist/browser/modules/stream/common/add-abort-signal.d.ts +18 -0
  461. package/dist/browser/modules/stream/common/add-abort-signal.js +45 -0
  462. package/dist/browser/modules/stream/common/binary-chunk.d.ts +21 -0
  463. package/dist/browser/modules/stream/common/binary-chunk.js +150 -0
  464. package/dist/browser/modules/stream/common/consumers.d.ts +26 -0
  465. package/dist/browser/modules/stream/common/consumers.js +41 -0
  466. package/dist/browser/modules/stream/common/end-args.d.ts +20 -0
  467. package/dist/browser/modules/stream/common/end-args.js +24 -0
  468. package/dist/browser/modules/stream/common/finished-all.d.ts +10 -0
  469. package/dist/browser/modules/stream/common/finished-all.js +25 -0
  470. package/dist/browser/modules/stream/common/options.d.ts +18 -0
  471. package/dist/browser/modules/stream/common/options.js +21 -0
  472. package/dist/browser/modules/stream/common/type-guards.d.ts +21 -0
  473. package/dist/browser/modules/stream/common/type-guards.js +68 -0
  474. package/dist/browser/modules/stream/common/utils.d.ts +32 -0
  475. package/dist/browser/modules/stream/common/utils.js +63 -0
  476. package/dist/browser/modules/stream/errors.d.ts +40 -0
  477. package/dist/browser/modules/stream/errors.js +50 -0
  478. package/dist/browser/modules/stream/index.base.d.ts +17 -0
  479. package/dist/browser/modules/stream/index.base.js +15 -0
  480. package/dist/browser/modules/stream/index.browser.d.ts +13 -8
  481. package/dist/browser/modules/stream/index.browser.js +21 -5
  482. package/dist/browser/modules/stream/index.d.ts +11 -9
  483. package/dist/browser/modules/stream/index.js +17 -5
  484. package/dist/browser/modules/stream/internal/event-utils.d.ts +2 -8
  485. package/dist/browser/modules/stream/internal/evented-readable-to-async-iterable.d.ts +18 -0
  486. package/dist/browser/modules/stream/internal/evented-readable-to-async-iterable.js +133 -0
  487. package/dist/browser/modules/stream/node/collector.d.ts +30 -0
  488. package/dist/browser/modules/stream/node/collector.js +70 -0
  489. package/dist/browser/modules/stream/node/compose.d.ts +10 -0
  490. package/dist/browser/modules/stream/node/compose.js +210 -0
  491. package/dist/browser/modules/stream/node/factories.d.ts +75 -0
  492. package/dist/browser/modules/stream/node/factories.js +222 -0
  493. package/dist/browser/modules/stream/node/pipeline.d.ts +25 -0
  494. package/dist/browser/modules/stream/node/pipeline.js +110 -0
  495. package/dist/browser/modules/stream/node/utils.d.ts +63 -0
  496. package/dist/browser/modules/stream/node/utils.js +253 -0
  497. package/dist/browser/modules/stream/node/writable.d.ts +47 -0
  498. package/dist/browser/modules/stream/node/writable.js +119 -0
  499. package/dist/browser/modules/stream/pull-stream.d.ts +5 -7
  500. package/dist/browser/modules/stream/pull-stream.js +37 -55
  501. package/dist/browser/modules/stream/types.d.ts +26 -37
  502. package/dist/browser/modules/stream/utils.base.d.ts +60 -0
  503. package/dist/browser/modules/stream/utils.base.js +123 -0
  504. package/dist/browser/modules/stream/utils.browser.d.ts +22 -0
  505. package/dist/browser/modules/stream/utils.browser.js +80 -0
  506. package/dist/browser/modules/stream/utils.d.ts +17 -18
  507. package/dist/browser/modules/stream/utils.js +66 -37
  508. package/dist/browser/utils/binary.d.ts +108 -0
  509. package/dist/browser/utils/binary.js +429 -0
  510. package/dist/browser/utils/errors.d.ts +114 -0
  511. package/dist/browser/utils/errors.js +206 -0
  512. package/dist/browser/{modules/stream → utils}/event-emitter.d.ts +3 -1
  513. package/dist/{esm/modules/stream → browser/utils}/event-emitter.js +89 -58
  514. package/dist/browser/utils/fs.browser.d.ts +73 -0
  515. package/dist/browser/utils/fs.browser.js +102 -0
  516. package/dist/browser/utils/fs.d.ts +285 -0
  517. package/dist/browser/utils/fs.js +526 -0
  518. package/dist/browser/utils/glob.d.ts +82 -0
  519. package/dist/browser/utils/glob.js +244 -0
  520. package/dist/browser/utils/utils.base.d.ts +19 -0
  521. package/dist/browser/utils/utils.base.js +47 -8
  522. package/dist/browser/utils/utils.browser.d.ts +2 -2
  523. package/dist/browser/utils/utils.browser.js +3 -7
  524. package/dist/browser/utils/utils.d.ts +2 -2
  525. package/dist/browser/utils/utils.js +3 -14
  526. package/dist/cjs/index.js +63 -4
  527. package/dist/cjs/modules/archive/compression/compress.base.js +252 -2
  528. package/dist/cjs/modules/archive/compression/compress.browser.js +378 -50
  529. package/dist/cjs/modules/archive/compression/compress.js +210 -22
  530. package/dist/cjs/modules/archive/compression/crc32.base.js +13 -0
  531. package/dist/cjs/modules/archive/compression/crc32.browser.js +8 -0
  532. package/dist/cjs/modules/archive/compression/crc32.js +42 -10
  533. package/dist/cjs/modules/archive/compression/deflate-fallback.js +222 -79
  534. package/dist/cjs/modules/archive/compression/streaming-compress.base.js +4 -4
  535. package/dist/cjs/modules/archive/compression/streaming-compress.browser.js +221 -201
  536. package/dist/cjs/modules/archive/compression/streaming-compress.js +88 -27
  537. package/dist/cjs/modules/archive/compression/worker-pool/index.browser.js +17 -0
  538. package/dist/cjs/modules/archive/compression/worker-pool/index.js +65 -0
  539. package/dist/cjs/modules/archive/compression/worker-pool/pool.base.js +63 -0
  540. package/dist/cjs/modules/archive/compression/worker-pool/pool.browser.js +867 -0
  541. package/dist/cjs/modules/archive/compression/worker-pool/types.js +8 -0
  542. package/dist/cjs/modules/archive/compression/worker-pool/worker-script.js +342 -0
  543. package/dist/cjs/modules/archive/crypto/aes.js +406 -0
  544. package/dist/cjs/modules/archive/crypto/index.js +51 -0
  545. package/dist/cjs/modules/archive/crypto/types.js +53 -0
  546. package/dist/cjs/modules/archive/crypto/zip-crypto.js +218 -0
  547. package/dist/cjs/modules/archive/formats/index.js +32 -0
  548. package/dist/cjs/modules/archive/formats/types.js +2 -0
  549. package/dist/cjs/modules/archive/fs/archive-file.js +2721 -0
  550. package/dist/cjs/modules/archive/fs/index.js +96 -0
  551. package/dist/cjs/modules/archive/fs/types.js +10 -0
  552. package/dist/cjs/modules/archive/index.base.js +87 -1
  553. package/dist/cjs/modules/archive/index.browser.js +38 -1
  554. package/dist/cjs/modules/archive/index.js +50 -1
  555. package/dist/cjs/modules/archive/io/archive-sink.js +5 -4
  556. package/dist/cjs/modules/archive/io/archive-source.js +164 -13
  557. package/dist/cjs/modules/archive/io/archive-source.node.js +13 -0
  558. package/dist/cjs/modules/archive/io/random-access.js +308 -0
  559. package/dist/cjs/modules/archive/io/remote-zip-reader.js +787 -0
  560. package/dist/cjs/modules/archive/{utils → shared}/async-queue.js +40 -8
  561. package/dist/cjs/modules/archive/{internal → shared}/byte-queue.js +59 -30
  562. package/dist/cjs/modules/archive/{utils → shared}/bytes.js +15 -27
  563. package/dist/cjs/modules/archive/shared/defaults.js +16 -0
  564. package/dist/cjs/modules/archive/shared/errors.js +197 -0
  565. package/dist/cjs/modules/archive/shared/progress.js +96 -0
  566. package/dist/cjs/modules/archive/shared/text.js +273 -0
  567. package/dist/cjs/modules/archive/tar/index.browser.js +45 -0
  568. package/dist/cjs/modules/archive/tar/index.js +38 -0
  569. package/dist/cjs/modules/archive/tar/tar-archive.js +530 -0
  570. package/dist/cjs/modules/archive/tar/tar-constants.js +62 -0
  571. package/dist/cjs/modules/archive/tar/tar-entry-info.js +50 -0
  572. package/dist/cjs/modules/archive/tar/tar-gzip.js +127 -0
  573. package/dist/cjs/modules/archive/tar/tar-header.js +320 -0
  574. package/dist/cjs/modules/archive/tar/tar-parser.js +371 -0
  575. package/dist/cjs/modules/archive/unzip/extract.js +13 -3
  576. package/dist/cjs/modules/archive/unzip/index.js +5 -164
  577. package/dist/cjs/modules/archive/unzip/parser-core.js +342 -0
  578. package/dist/cjs/modules/archive/unzip/progress.js +2 -0
  579. package/dist/cjs/modules/archive/unzip/stream.base.js +224 -468
  580. package/dist/cjs/modules/archive/unzip/stream.browser.js +109 -59
  581. package/dist/cjs/modules/archive/unzip/stream.js +68 -8
  582. package/dist/cjs/modules/archive/unzip/zip-extract-core.js +483 -0
  583. package/dist/cjs/modules/archive/unzip/zip-parser.js +148 -244
  584. package/dist/cjs/modules/archive/unzip/zip-reader.js +441 -0
  585. package/dist/cjs/modules/archive/zip/compressibility.js +131 -0
  586. package/dist/cjs/modules/archive/zip/index.js +11 -157
  587. package/dist/cjs/modules/archive/zip/progress.js +2 -0
  588. package/dist/cjs/modules/archive/zip/raw-entry.js +12 -0
  589. package/dist/cjs/modules/archive/zip/stream.js +727 -70
  590. package/dist/cjs/modules/archive/zip/writable-file.js +10 -0
  591. package/dist/cjs/modules/archive/zip/writer-core.js +275 -0
  592. package/dist/cjs/modules/archive/zip/zip-archive.js +453 -0
  593. package/dist/cjs/modules/archive/zip/zip-bytes.js +291 -114
  594. package/dist/cjs/modules/archive/zip/zip-edit-plan.js +187 -0
  595. package/dist/cjs/modules/archive/zip/zip-edit-view.js +231 -0
  596. package/dist/cjs/modules/archive/zip/zip-editor.js +764 -0
  597. package/dist/cjs/modules/archive/zip/zip-entry-attributes.js +62 -0
  598. package/dist/cjs/modules/archive/zip/zip-entry-metadata.js +28 -8
  599. package/dist/cjs/modules/archive/zip/zip-entry-options.js +25 -0
  600. package/dist/cjs/modules/archive/zip-spec/binary.js +134 -0
  601. package/dist/cjs/modules/archive/{utils → zip-spec}/timestamps.js +78 -17
  602. package/dist/cjs/modules/archive/zip-spec/zip-entry-info.js +7 -0
  603. package/dist/cjs/modules/archive/zip-spec/zip-extra-fields.js +221 -0
  604. package/dist/cjs/modules/archive/zip-spec/zip-parser-core.js +374 -0
  605. package/dist/cjs/modules/archive/zip-spec/zip-path.js +91 -0
  606. package/dist/cjs/modules/archive/zip-spec/zip-records.js +166 -1
  607. package/dist/cjs/modules/csv/constants.js +70 -0
  608. package/dist/cjs/modules/csv/errors.js +27 -0
  609. package/dist/cjs/modules/csv/format/config.js +111 -0
  610. package/dist/cjs/modules/csv/format/formatted-value.js +81 -0
  611. package/dist/cjs/modules/csv/format/formatter.js +404 -0
  612. package/dist/cjs/modules/csv/format/index.js +18 -0
  613. package/dist/cjs/modules/csv/index.js +83 -0
  614. package/dist/cjs/modules/csv/parse/async.js +293 -0
  615. package/dist/cjs/modules/csv/parse/config.js +165 -0
  616. package/dist/cjs/modules/csv/parse/helpers.js +232 -0
  617. package/dist/cjs/modules/csv/parse/index.js +35 -0
  618. package/dist/cjs/modules/csv/parse/lines.js +85 -0
  619. package/dist/cjs/modules/csv/parse/row-processor.js +211 -0
  620. package/dist/cjs/modules/csv/parse/scanner/index.js +22 -0
  621. package/dist/cjs/modules/csv/parse/scanner/scanner.js +862 -0
  622. package/dist/cjs/modules/csv/parse/scanner/types.js +29 -0
  623. package/dist/cjs/modules/csv/parse/state.js +101 -0
  624. package/dist/cjs/modules/csv/parse/sync.js +434 -0
  625. package/dist/cjs/modules/csv/stream/formatter.js +165 -0
  626. package/dist/cjs/modules/csv/stream/index.js +23 -0
  627. package/dist/cjs/modules/csv/stream/parser.js +933 -0
  628. package/dist/cjs/modules/csv/types.js +75 -0
  629. package/dist/cjs/modules/csv/utils/detect.js +334 -0
  630. package/dist/cjs/modules/csv/utils/dynamic-typing.js +305 -0
  631. package/dist/cjs/modules/csv/utils/generate.js +967 -0
  632. package/dist/cjs/modules/csv/utils/number.js +53 -0
  633. package/dist/cjs/modules/csv/utils/row.js +270 -0
  634. package/dist/cjs/modules/csv/worker/index.browser.js +17 -0
  635. package/dist/cjs/modules/csv/worker/index.js +16 -0
  636. package/dist/cjs/modules/csv/worker/pool.browser.js +607 -0
  637. package/dist/cjs/modules/csv/worker/pool.js +62 -0
  638. package/dist/cjs/modules/csv/worker/types.js +8 -0
  639. package/dist/cjs/modules/csv/worker/worker-script.bundle.js +78 -0
  640. package/dist/cjs/modules/csv/worker/worker-script.generated.js +9 -0
  641. package/dist/cjs/modules/csv/worker/worker.entry.js +415 -0
  642. package/dist/cjs/modules/excel/cell.js +4 -3
  643. package/dist/cjs/modules/excel/errors.js +196 -0
  644. package/dist/cjs/modules/excel/image.js +2 -1
  645. package/dist/cjs/modules/excel/pivot-table.js +8 -7
  646. package/dist/cjs/modules/excel/range.js +2 -1
  647. package/dist/cjs/modules/excel/row.js +2 -1
  648. package/dist/cjs/modules/excel/stream/hyperlink-reader.js +2 -2
  649. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +14 -3
  650. package/dist/cjs/modules/excel/stream/workbook-reader.js +10 -12
  651. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +13 -6
  652. package/dist/cjs/modules/excel/stream/workbook-writer.js +5 -9
  653. package/dist/cjs/modules/excel/stream/worksheet-reader.js +8 -3
  654. package/dist/cjs/modules/excel/stream/worksheet-writer.js +5 -4
  655. package/dist/cjs/modules/excel/table.js +52 -53
  656. package/dist/cjs/modules/excel/utils/cell-matrix.js +5 -4
  657. package/dist/cjs/modules/excel/utils/col-cache.js +7 -6
  658. package/dist/cjs/modules/excel/utils/encryptor.browser.js +2 -2
  659. package/dist/cjs/modules/excel/utils/encryptor.js +2 -2
  660. package/dist/cjs/modules/excel/utils/ooxml-validator.js +8 -6
  661. package/dist/cjs/modules/excel/utils/parse-sax.js +36 -27
  662. package/dist/cjs/modules/excel/utils/sheet-utils.js +0 -59
  663. package/dist/cjs/modules/excel/utils/stream-buf.js +14 -21
  664. package/dist/cjs/modules/excel/utils/xml-stream.js +3 -2
  665. package/dist/cjs/modules/excel/workbook.browser.js +793 -0
  666. package/dist/cjs/modules/excel/workbook.js +39 -302
  667. package/dist/cjs/modules/excel/worksheet.js +8 -7
  668. package/dist/cjs/modules/excel/xlsx/xform/base-xform.js +0 -1
  669. package/dist/cjs/modules/excel/xlsx/xform/core/relationships-xform.js +3 -2
  670. package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +2 -1
  671. package/dist/cjs/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +2 -1
  672. package/dist/cjs/modules/excel/xlsx/xform/sheet/cell-xform.js +9 -3
  673. package/dist/cjs/modules/excel/xlsx/xform/sheet/row-xform.js +2 -1
  674. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-strings-xform.js +3 -2
  675. package/dist/cjs/modules/excel/xlsx/xform/strings/text-xform.js +3 -4
  676. package/dist/cjs/modules/excel/xlsx/xform/style/numfmt-xform.js +8 -2
  677. package/dist/cjs/modules/excel/xlsx/xform/style/styles-xform.js +2 -1
  678. package/dist/cjs/modules/excel/xlsx/xform/table/auto-filter-xform.js +3 -2
  679. package/dist/cjs/modules/excel/xlsx/xform/table/filter-column-xform.js +2 -1
  680. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +12 -10
  681. package/dist/cjs/modules/excel/xlsx/xlsx.js +7 -10
  682. package/dist/cjs/modules/stream/browser/_lazy.js +34 -0
  683. package/dist/cjs/modules/stream/browser/chunk-buffer.js +227 -0
  684. package/dist/cjs/modules/stream/browser/collector.js +71 -0
  685. package/dist/cjs/modules/stream/browser/compose.js +234 -0
  686. package/dist/cjs/modules/stream/browser/duplex.js +970 -0
  687. package/dist/cjs/modules/stream/browser/factories.js +229 -0
  688. package/dist/cjs/modules/stream/browser/helpers.js +50 -0
  689. package/dist/cjs/modules/stream/browser/microtask-context.js +64 -0
  690. package/dist/cjs/modules/stream/browser/passthrough.js +23 -0
  691. package/dist/cjs/modules/stream/browser/pipe-manager.js +162 -0
  692. package/dist/cjs/modules/stream/browser/pipeline.js +493 -0
  693. package/dist/cjs/modules/stream/browser/readable.js +2179 -0
  694. package/dist/cjs/modules/stream/browser/transform.js +1239 -0
  695. package/dist/cjs/modules/stream/browser/utils.js +267 -0
  696. package/dist/cjs/modules/stream/browser/writable.js +1307 -0
  697. package/dist/cjs/modules/stream/buffered-stream.js +31 -13
  698. package/dist/cjs/modules/stream/chunked-builder.js +17 -4
  699. package/dist/cjs/modules/stream/common/add-abort-signal.js +48 -0
  700. package/dist/cjs/modules/stream/common/binary-chunk.js +156 -0
  701. package/dist/cjs/modules/stream/common/consumers.js +44 -0
  702. package/dist/cjs/modules/stream/common/end-args.js +27 -0
  703. package/dist/cjs/modules/stream/common/finished-all.js +28 -0
  704. package/dist/cjs/modules/stream/common/options.js +25 -0
  705. package/dist/cjs/modules/stream/common/type-guards.js +73 -0
  706. package/dist/cjs/modules/stream/common/utils.js +70 -0
  707. package/dist/cjs/modules/stream/errors.js +58 -0
  708. package/dist/cjs/modules/stream/index.base.js +45 -0
  709. package/dist/cjs/modules/stream/index.browser.js +80 -80
  710. package/dist/cjs/modules/stream/index.js +76 -80
  711. package/dist/cjs/modules/stream/internal/evented-readable-to-async-iterable.js +136 -0
  712. package/dist/cjs/modules/stream/node/collector.js +75 -0
  713. package/dist/cjs/modules/stream/node/compose.js +213 -0
  714. package/dist/cjs/modules/stream/node/factories.js +240 -0
  715. package/dist/cjs/modules/stream/node/pipeline.js +117 -0
  716. package/dist/cjs/modules/stream/node/utils.js +264 -0
  717. package/dist/cjs/modules/stream/node/writable.js +124 -0
  718. package/dist/cjs/modules/stream/pull-stream.js +37 -55
  719. package/dist/cjs/modules/stream/utils.base.js +136 -0
  720. package/dist/cjs/modules/stream/utils.browser.js +93 -0
  721. package/dist/cjs/modules/stream/utils.js +69 -38
  722. package/dist/cjs/utils/binary.js +445 -0
  723. package/dist/cjs/utils/errors.js +220 -0
  724. package/dist/cjs/{modules/stream → utils}/event-emitter.js +89 -58
  725. package/dist/cjs/utils/fs.browser.js +139 -0
  726. package/dist/cjs/utils/fs.js +602 -0
  727. package/dist/cjs/utils/glob.js +252 -0
  728. package/dist/cjs/utils/utils.base.js +49 -8
  729. package/dist/cjs/utils/utils.browser.js +6 -8
  730. package/dist/cjs/utils/utils.js +6 -18
  731. package/dist/esm/index.browser.js +21 -13
  732. package/dist/esm/index.js +21 -1
  733. package/dist/esm/modules/archive/compression/compress.base.js +242 -3
  734. package/dist/esm/modules/archive/compression/compress.browser.js +363 -54
  735. package/dist/esm/modules/archive/compression/compress.js +182 -23
  736. package/dist/esm/modules/archive/compression/crc32.base.js +12 -0
  737. package/dist/esm/modules/archive/compression/crc32.browser.js +7 -0
  738. package/dist/esm/modules/archive/compression/crc32.js +42 -11
  739. package/dist/esm/modules/archive/compression/deflate-fallback.js +219 -78
  740. package/dist/esm/modules/archive/compression/streaming-compress.base.js +2 -3
  741. package/dist/esm/modules/archive/compression/streaming-compress.browser.js +225 -202
  742. package/dist/esm/modules/archive/compression/streaming-compress.js +83 -28
  743. package/dist/esm/modules/archive/compression/worker-pool/index.browser.js +6 -0
  744. package/dist/esm/modules/archive/compression/worker-pool/index.js +53 -0
  745. package/dist/esm/modules/archive/compression/worker-pool/pool.base.js +56 -0
  746. package/dist/esm/modules/archive/compression/worker-pool/pool.browser.js +857 -0
  747. package/dist/esm/modules/archive/compression/worker-pool/types.js +7 -0
  748. package/dist/esm/modules/archive/compression/worker-pool/worker-script.js +337 -0
  749. package/dist/esm/modules/archive/crypto/aes.js +394 -0
  750. package/dist/esm/modules/archive/crypto/index.js +20 -0
  751. package/dist/esm/modules/archive/crypto/types.js +47 -0
  752. package/dist/esm/modules/archive/crypto/zip-crypto.js +203 -0
  753. package/dist/esm/modules/archive/formats/index.js +28 -0
  754. package/dist/esm/modules/archive/formats/types.js +1 -0
  755. package/dist/esm/modules/archive/fs/archive-file.js +2684 -0
  756. package/dist/esm/modules/archive/fs/index.js +61 -0
  757. package/dist/esm/modules/archive/fs/types.js +9 -0
  758. package/dist/esm/modules/archive/index.base.js +26 -1
  759. package/dist/esm/modules/archive/index.browser.js +10 -2
  760. package/dist/esm/modules/archive/index.js +16 -2
  761. package/dist/esm/modules/archive/io/archive-sink.js +4 -3
  762. package/dist/esm/modules/archive/io/archive-source.js +156 -10
  763. package/dist/esm/modules/archive/io/archive-source.node.js +10 -0
  764. package/dist/esm/modules/archive/io/random-access.js +301 -0
  765. package/dist/esm/modules/archive/io/remote-zip-reader.js +782 -0
  766. package/dist/esm/modules/archive/{utils → shared}/async-queue.js +40 -8
  767. package/dist/{browser/modules/archive/internal → esm/modules/archive/shared}/byte-queue.js +59 -30
  768. package/dist/{browser/modules/archive/utils → esm/modules/archive/shared}/bytes.js +14 -25
  769. package/dist/esm/modules/archive/{defaults.js → shared/defaults.js} +7 -0
  770. package/dist/esm/modules/archive/shared/errors.js +171 -0
  771. package/dist/esm/modules/archive/shared/progress.js +92 -0
  772. package/dist/esm/modules/archive/shared/text.js +262 -0
  773. package/dist/esm/modules/archive/tar/index.browser.js +18 -0
  774. package/dist/esm/modules/archive/tar/index.js +16 -0
  775. package/dist/esm/modules/archive/tar/tar-archive.js +519 -0
  776. package/dist/esm/modules/archive/tar/tar-constants.js +59 -0
  777. package/dist/esm/modules/archive/tar/tar-entry-info.js +43 -0
  778. package/dist/esm/modules/archive/tar/tar-gzip.js +119 -0
  779. package/dist/esm/modules/archive/tar/tar-header.js +311 -0
  780. package/dist/esm/modules/archive/tar/tar-parser.js +366 -0
  781. package/dist/esm/modules/archive/unzip/extract.js +13 -3
  782. package/dist/esm/modules/archive/unzip/index.js +3 -162
  783. package/dist/esm/modules/archive/unzip/parser-core.js +316 -0
  784. package/dist/esm/modules/archive/unzip/progress.js +1 -0
  785. package/dist/esm/modules/archive/unzip/stream.base.js +210 -440
  786. package/dist/esm/modules/archive/unzip/stream.browser.js +107 -57
  787. package/dist/esm/modules/archive/unzip/stream.js +68 -8
  788. package/dist/esm/modules/archive/unzip/zip-extract-core.js +475 -0
  789. package/dist/esm/modules/archive/unzip/zip-parser.js +146 -242
  790. package/dist/esm/modules/archive/unzip/zip-reader.js +435 -0
  791. package/dist/esm/modules/archive/zip/compressibility.js +127 -0
  792. package/dist/esm/modules/archive/zip/index.js +5 -155
  793. package/dist/esm/modules/archive/zip/progress.js +1 -0
  794. package/dist/esm/modules/archive/zip/raw-entry.js +9 -0
  795. package/dist/esm/modules/archive/zip/stream.js +728 -72
  796. package/dist/esm/modules/archive/zip/writable-file.js +9 -0
  797. package/dist/esm/modules/archive/zip/writer-core.js +270 -0
  798. package/dist/esm/modules/archive/zip/zip-archive.js +448 -0
  799. package/dist/esm/modules/archive/zip/zip-bytes.js +293 -116
  800. package/dist/esm/modules/archive/zip/zip-edit-plan.js +183 -0
  801. package/dist/esm/modules/archive/zip/zip-edit-view.js +227 -0
  802. package/dist/esm/modules/archive/zip/zip-editor.js +758 -0
  803. package/dist/esm/modules/archive/zip/zip-entry-attributes.js +59 -0
  804. package/dist/esm/modules/archive/zip/zip-entry-metadata.js +29 -9
  805. package/dist/esm/modules/archive/zip/zip-entry-options.js +22 -0
  806. package/dist/esm/modules/archive/zip-spec/binary.js +126 -0
  807. package/dist/esm/modules/archive/{utils → zip-spec}/timestamps.js +75 -15
  808. package/dist/esm/modules/archive/zip-spec/zip-entry-info.js +6 -1
  809. package/dist/esm/modules/archive/zip-spec/zip-extra-fields.js +215 -0
  810. package/dist/esm/modules/archive/zip-spec/zip-parser-core.js +361 -0
  811. package/dist/esm/modules/archive/zip-spec/zip-path.js +87 -0
  812. package/dist/esm/modules/archive/zip-spec/zip-records.js +154 -0
  813. package/dist/esm/modules/csv/constants.js +66 -0
  814. package/dist/esm/modules/csv/errors.js +22 -0
  815. package/dist/esm/modules/csv/format/config.js +106 -0
  816. package/dist/esm/modules/csv/format/formatted-value.js +76 -0
  817. package/dist/esm/modules/csv/format/formatter.js +397 -0
  818. package/dist/esm/modules/csv/format/index.js +12 -0
  819. package/dist/esm/modules/csv/index.js +47 -0
  820. package/dist/esm/modules/csv/parse/async.js +288 -0
  821. package/dist/esm/modules/csv/parse/config.js +159 -0
  822. package/dist/esm/modules/csv/parse/helpers.js +225 -0
  823. package/dist/esm/modules/csv/parse/index.js +19 -0
  824. package/dist/esm/modules/csv/parse/lines.js +82 -0
  825. package/dist/esm/modules/csv/parse/row-processor.js +203 -0
  826. package/dist/esm/modules/csv/parse/scanner/index.js +12 -0
  827. package/dist/esm/modules/csv/parse/scanner/scanner.js +852 -0
  828. package/dist/esm/modules/csv/parse/scanner/types.js +25 -0
  829. package/dist/esm/modules/csv/parse/state.js +96 -0
  830. package/dist/esm/modules/csv/parse/sync.js +429 -0
  831. package/dist/esm/modules/csv/stream/formatter.js +160 -0
  832. package/dist/esm/modules/csv/stream/index.js +16 -0
  833. package/dist/esm/modules/csv/stream/parser.js +928 -0
  834. package/dist/esm/modules/csv/types.js +67 -0
  835. package/dist/esm/modules/csv/utils/detect.js +325 -0
  836. package/dist/esm/modules/csv/utils/dynamic-typing.js +297 -0
  837. package/dist/esm/modules/csv/utils/generate.js +960 -0
  838. package/dist/esm/modules/csv/utils/number.js +49 -0
  839. package/dist/esm/modules/csv/utils/row.js +255 -0
  840. package/dist/esm/modules/csv/worker/index.browser.js +5 -0
  841. package/dist/esm/modules/csv/worker/index.js +6 -0
  842. package/dist/esm/modules/csv/worker/pool.browser.js +602 -0
  843. package/dist/esm/modules/csv/worker/pool.js +54 -0
  844. package/dist/esm/modules/csv/worker/types.js +7 -0
  845. package/dist/esm/modules/csv/worker/worker-script.bundle.js +41 -0
  846. package/dist/esm/modules/csv/worker/worker-script.generated.js +6 -0
  847. package/dist/esm/modules/csv/worker/worker.entry.js +413 -0
  848. package/dist/esm/modules/excel/cell.js +4 -3
  849. package/dist/esm/modules/excel/errors.js +176 -0
  850. package/dist/esm/modules/excel/image.js +2 -1
  851. package/dist/esm/modules/excel/pivot-table.js +8 -7
  852. package/dist/esm/modules/excel/range.js +2 -1
  853. package/dist/esm/modules/excel/row.js +2 -1
  854. package/dist/esm/modules/excel/stream/hyperlink-reader.js +1 -1
  855. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +14 -3
  856. package/dist/esm/modules/excel/stream/workbook-reader.js +10 -9
  857. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +13 -6
  858. package/dist/esm/modules/excel/stream/workbook-writer.js +5 -6
  859. package/dist/esm/modules/excel/stream/worksheet-reader.js +8 -3
  860. package/dist/esm/modules/excel/stream/worksheet-writer.js +5 -4
  861. package/dist/esm/modules/excel/table.js +52 -53
  862. package/dist/esm/modules/excel/utils/cell-matrix.js +5 -4
  863. package/dist/esm/modules/excel/utils/col-cache.js +7 -6
  864. package/dist/esm/modules/excel/utils/encryptor.browser.js +1 -1
  865. package/dist/esm/modules/excel/utils/encryptor.js +1 -1
  866. package/dist/esm/modules/excel/utils/ooxml-validator.js +8 -6
  867. package/dist/esm/modules/excel/utils/parse-sax.js +36 -27
  868. package/dist/esm/modules/excel/utils/sheet-utils.js +0 -58
  869. package/dist/esm/modules/excel/utils/stream-buf.js +13 -20
  870. package/dist/esm/modules/excel/utils/xml-stream.js +3 -2
  871. package/dist/esm/modules/excel/workbook.browser.js +790 -0
  872. package/dist/esm/modules/excel/workbook.js +39 -302
  873. package/dist/esm/modules/excel/worksheet.js +8 -7
  874. package/dist/esm/modules/excel/xlsx/xform/base-xform.js +0 -1
  875. package/dist/esm/modules/excel/xlsx/xform/core/relationships-xform.js +3 -2
  876. package/dist/esm/modules/excel/xlsx/xform/list-xform.js +2 -1
  877. package/dist/esm/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +2 -1
  878. package/dist/esm/modules/excel/xlsx/xform/sheet/cell-xform.js +10 -4
  879. package/dist/esm/modules/excel/xlsx/xform/sheet/row-xform.js +2 -1
  880. package/dist/esm/modules/excel/xlsx/xform/strings/shared-strings-xform.js +3 -2
  881. package/dist/esm/modules/excel/xlsx/xform/strings/text-xform.js +3 -4
  882. package/dist/esm/modules/excel/xlsx/xform/style/numfmt-xform.js +8 -2
  883. package/dist/esm/modules/excel/xlsx/xform/style/styles-xform.js +2 -1
  884. package/dist/esm/modules/excel/xlsx/xform/table/auto-filter-xform.js +3 -2
  885. package/dist/esm/modules/excel/xlsx/xform/table/filter-column-xform.js +2 -1
  886. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +11 -9
  887. package/dist/esm/modules/excel/xlsx/xlsx.js +6 -6
  888. package/dist/esm/modules/stream/browser/_lazy.js +30 -0
  889. package/dist/esm/modules/stream/browser/chunk-buffer.js +223 -0
  890. package/dist/esm/modules/stream/browser/collector.js +66 -0
  891. package/dist/esm/modules/stream/browser/compose.js +231 -0
  892. package/dist/esm/modules/stream/browser/duplex.js +966 -0
  893. package/dist/esm/modules/stream/browser/factories.js +212 -0
  894. package/dist/esm/modules/stream/browser/helpers.js +44 -0
  895. package/dist/esm/modules/stream/browser/microtask-context.js +60 -0
  896. package/dist/esm/modules/stream/browser/passthrough.js +19 -0
  897. package/dist/esm/modules/stream/browser/pipe-manager.js +158 -0
  898. package/dist/esm/modules/stream/browser/pipeline.js +486 -0
  899. package/dist/esm/modules/stream/browser/readable.js +2173 -0
  900. package/dist/esm/modules/stream/browser/transform.js +1235 -0
  901. package/dist/esm/modules/stream/browser/utils.js +256 -0
  902. package/dist/esm/modules/stream/browser/writable.js +1302 -0
  903. package/dist/esm/modules/stream/buffered-stream.js +28 -10
  904. package/dist/esm/modules/stream/chunked-builder.js +16 -3
  905. package/dist/esm/modules/stream/common/add-abort-signal.js +45 -0
  906. package/dist/esm/modules/stream/common/binary-chunk.js +150 -0
  907. package/dist/esm/modules/stream/common/consumers.js +41 -0
  908. package/dist/esm/modules/stream/common/end-args.js +24 -0
  909. package/dist/esm/modules/stream/common/finished-all.js +25 -0
  910. package/dist/esm/modules/stream/common/options.js +21 -0
  911. package/dist/esm/modules/stream/common/type-guards.js +68 -0
  912. package/dist/esm/modules/stream/common/utils.js +63 -0
  913. package/dist/esm/modules/stream/errors.js +50 -0
  914. package/dist/esm/modules/stream/index.base.js +15 -0
  915. package/dist/esm/modules/stream/index.browser.js +21 -5
  916. package/dist/esm/modules/stream/index.js +17 -5
  917. package/dist/esm/modules/stream/internal/evented-readable-to-async-iterable.js +133 -0
  918. package/dist/esm/modules/stream/node/collector.js +70 -0
  919. package/dist/esm/modules/stream/node/compose.js +210 -0
  920. package/dist/esm/modules/stream/node/factories.js +222 -0
  921. package/dist/esm/modules/stream/node/pipeline.js +110 -0
  922. package/dist/esm/modules/stream/node/utils.js +253 -0
  923. package/dist/esm/modules/stream/node/writable.js +119 -0
  924. package/dist/esm/modules/stream/pull-stream.js +37 -55
  925. package/dist/esm/modules/stream/utils.base.js +123 -0
  926. package/dist/esm/modules/stream/utils.browser.js +80 -0
  927. package/dist/esm/modules/stream/utils.js +66 -37
  928. package/dist/esm/utils/binary.js +429 -0
  929. package/dist/esm/utils/errors.js +206 -0
  930. package/dist/{browser/modules/stream → esm/utils}/event-emitter.js +89 -58
  931. package/dist/esm/utils/fs.browser.js +102 -0
  932. package/dist/esm/utils/fs.js +526 -0
  933. package/dist/esm/utils/glob.js +244 -0
  934. package/dist/esm/utils/utils.base.js +47 -8
  935. package/dist/esm/utils/utils.browser.js +3 -7
  936. package/dist/esm/utils/utils.js +3 -14
  937. package/dist/iife/THIRD_PARTY_NOTICES.md +0 -50
  938. package/dist/iife/excelts.iife.js +28995 -20576
  939. package/dist/iife/excelts.iife.js.map +1 -1
  940. package/dist/iife/excelts.iife.min.js +337 -36
  941. package/dist/types/index.browser.d.ts +14 -3
  942. package/dist/types/index.d.ts +16 -3
  943. package/dist/types/modules/archive/compression/compress.base.d.ts +127 -3
  944. package/dist/types/modules/archive/compression/compress.browser.d.ts +85 -35
  945. package/dist/types/modules/archive/compression/compress.d.ts +67 -3
  946. package/dist/types/modules/archive/compression/crc32.base.d.ts +9 -0
  947. package/dist/types/modules/archive/compression/crc32.browser.d.ts +5 -0
  948. package/dist/types/modules/archive/compression/crc32.d.ts +6 -0
  949. package/dist/types/modules/archive/compression/deflate-fallback.d.ts +38 -0
  950. package/dist/types/modules/archive/compression/streaming-compress.base.d.ts +45 -1
  951. package/dist/types/modules/archive/compression/streaming-compress.browser.d.ts +26 -6
  952. package/dist/types/modules/archive/compression/streaming-compress.d.ts +45 -2
  953. package/dist/types/modules/archive/compression/worker-pool/index.browser.d.ts +6 -0
  954. package/dist/types/modules/archive/compression/worker-pool/index.d.ts +26 -0
  955. package/dist/types/modules/archive/compression/worker-pool/pool.base.d.ts +34 -0
  956. package/dist/types/modules/archive/compression/worker-pool/pool.browser.d.ts +182 -0
  957. package/dist/types/modules/archive/compression/worker-pool/types.d.ts +170 -0
  958. package/dist/types/modules/archive/compression/worker-pool/worker-script.d.ts +26 -0
  959. package/dist/types/modules/archive/crypto/aes.d.ts +203 -0
  960. package/dist/types/modules/archive/crypto/index.d.ts +17 -0
  961. package/dist/types/modules/archive/crypto/types.d.ts +53 -0
  962. package/dist/types/modules/archive/crypto/zip-crypto.d.ts +105 -0
  963. package/dist/types/modules/archive/formats/index.d.ts +9 -0
  964. package/dist/types/modules/archive/formats/types.d.ts +1 -0
  965. package/dist/types/modules/archive/fs/archive-file.d.ts +403 -0
  966. package/dist/types/modules/archive/fs/index.d.ts +61 -0
  967. package/dist/types/modules/archive/fs/types.d.ts +517 -0
  968. package/dist/types/modules/archive/index.base.d.ts +10 -1
  969. package/dist/types/modules/archive/index.browser.d.ts +3 -2
  970. package/dist/types/modules/archive/index.d.ts +6 -2
  971. package/dist/types/modules/archive/io/archive-source.d.ts +31 -1
  972. package/dist/types/modules/archive/io/archive-source.node.d.ts +10 -0
  973. package/dist/types/modules/archive/io/random-access.d.ts +165 -0
  974. package/dist/types/modules/archive/io/remote-zip-reader.d.ts +352 -0
  975. package/dist/types/modules/archive/{utils → shared}/async-queue.d.ts +3 -1
  976. package/dist/{browser/modules/archive/internal → types/modules/archive/shared}/byte-queue.d.ts +5 -1
  977. package/dist/types/modules/archive/shared/bytes.d.ts +19 -0
  978. package/dist/types/modules/archive/shared/defaults.d.ts +12 -0
  979. package/dist/types/modules/archive/shared/errors.d.ts +118 -0
  980. package/dist/types/modules/archive/shared/progress.d.ts +62 -0
  981. package/dist/types/modules/archive/shared/text.d.ts +96 -0
  982. package/dist/types/modules/archive/tar/index.browser.d.ts +11 -0
  983. package/dist/types/modules/archive/tar/index.d.ts +13 -0
  984. package/dist/types/modules/archive/tar/tar-archive.d.ts +234 -0
  985. package/dist/types/modules/archive/tar/tar-constants.d.ts +102 -0
  986. package/dist/types/modules/archive/tar/tar-entry-info.d.ts +55 -0
  987. package/dist/types/modules/archive/tar/tar-gzip.d.ts +64 -0
  988. package/dist/types/modules/archive/tar/tar-header.d.ts +56 -0
  989. package/dist/types/modules/archive/tar/tar-parser.d.ts +40 -0
  990. package/dist/types/modules/archive/unzip/extract.d.ts +9 -2
  991. package/dist/types/modules/archive/unzip/index.d.ts +28 -40
  992. package/dist/types/modules/archive/unzip/parser-core.d.ts +117 -0
  993. package/dist/types/modules/archive/unzip/progress.d.ts +36 -0
  994. package/dist/types/modules/archive/unzip/stream.base.d.ts +24 -155
  995. package/dist/types/modules/archive/unzip/stream.browser.d.ts +2 -1
  996. package/dist/types/modules/archive/unzip/stream.d.ts +4 -3
  997. package/dist/types/modules/archive/unzip/zip-extract-core.d.ts +90 -0
  998. package/dist/types/modules/archive/unzip/zip-parser.d.ts +76 -6
  999. package/dist/types/modules/archive/unzip/zip-reader.d.ts +103 -0
  1000. package/dist/types/modules/archive/zip/compressibility.d.ts +20 -0
  1001. package/dist/types/modules/archive/zip/index.d.ts +27 -42
  1002. package/dist/types/modules/archive/zip/progress.d.ts +39 -0
  1003. package/dist/types/modules/archive/zip/raw-entry.d.ts +64 -0
  1004. package/dist/types/modules/archive/zip/stream.d.ts +178 -26
  1005. package/dist/types/modules/archive/zip/writable-file.d.ts +97 -0
  1006. package/dist/types/modules/archive/zip/writer-core.d.ts +77 -0
  1007. package/dist/types/modules/archive/zip/zip-archive.d.ts +121 -0
  1008. package/dist/types/modules/archive/zip/zip-bytes.d.ts +70 -3
  1009. package/dist/types/modules/archive/zip/zip-edit-plan.d.ts +123 -0
  1010. package/dist/types/modules/archive/zip/zip-edit-view.d.ts +155 -0
  1011. package/dist/types/modules/archive/zip/zip-editor.d.ts +359 -0
  1012. package/dist/types/modules/archive/zip/zip-entry-attributes.d.ts +10 -0
  1013. package/dist/types/modules/archive/zip/zip-entry-metadata.d.ts +11 -2
  1014. package/dist/types/modules/archive/zip/zip-entry-options.d.ts +47 -0
  1015. package/dist/types/modules/archive/zip-spec/binary.d.ts +42 -0
  1016. package/dist/types/modules/archive/{utils → zip-spec}/timestamps.d.ts +17 -2
  1017. package/dist/types/modules/archive/zip-spec/zip-entry-info.d.ts +47 -3
  1018. package/dist/types/modules/archive/zip-spec/zip-extra-fields.d.ts +90 -0
  1019. package/dist/types/modules/archive/zip-spec/zip-parser-core.d.ts +147 -0
  1020. package/dist/types/modules/archive/zip-spec/zip-path.d.ts +15 -0
  1021. package/dist/types/modules/archive/zip-spec/zip-records.d.ts +70 -0
  1022. package/dist/types/modules/csv/constants.d.ts +18 -0
  1023. package/dist/types/modules/csv/errors.d.ts +16 -0
  1024. package/dist/types/modules/csv/format/config.d.ts +121 -0
  1025. package/dist/types/modules/csv/format/formatted-value.d.ts +82 -0
  1026. package/dist/types/modules/csv/format/formatter.d.ts +71 -0
  1027. package/dist/types/modules/csv/format/index.d.ts +10 -0
  1028. package/dist/types/modules/csv/index.d.ts +23 -0
  1029. package/dist/types/modules/csv/parse/async.d.ts +111 -0
  1030. package/dist/types/modules/csv/parse/config.d.ts +100 -0
  1031. package/dist/types/modules/csv/parse/helpers.d.ts +114 -0
  1032. package/dist/types/modules/csv/parse/index.d.ts +16 -0
  1033. package/dist/types/modules/csv/parse/lines.d.ts +23 -0
  1034. package/dist/types/modules/csv/parse/row-processor.d.ts +61 -0
  1035. package/dist/types/modules/csv/parse/scanner/index.d.ts +10 -0
  1036. package/dist/types/modules/csv/parse/scanner/scanner.d.ts +154 -0
  1037. package/dist/types/modules/csv/parse/scanner/types.d.ts +185 -0
  1038. package/dist/types/modules/csv/parse/state.d.ts +46 -0
  1039. package/dist/types/modules/csv/parse/sync.d.ts +59 -0
  1040. package/dist/types/modules/csv/stream/formatter.d.ts +55 -0
  1041. package/dist/types/modules/csv/stream/index.d.ts +10 -0
  1042. package/dist/types/modules/csv/stream/parser.d.ts +141 -0
  1043. package/dist/types/modules/csv/types.d.ts +438 -0
  1044. package/dist/types/modules/csv/utils/detect.d.ts +100 -0
  1045. package/dist/types/modules/csv/utils/dynamic-typing.d.ts +71 -0
  1046. package/dist/types/modules/csv/utils/generate.d.ts +306 -0
  1047. package/dist/types/modules/csv/utils/number.d.ts +36 -0
  1048. package/dist/types/modules/csv/utils/row.d.ts +111 -0
  1049. package/dist/types/modules/csv/worker/index.browser.d.ts +6 -0
  1050. package/dist/types/modules/csv/worker/index.d.ts +7 -0
  1051. package/dist/types/modules/csv/worker/pool.browser.d.ts +193 -0
  1052. package/dist/types/modules/csv/worker/pool.d.ts +14 -0
  1053. package/dist/types/modules/csv/worker/types.d.ts +195 -0
  1054. package/dist/types/modules/csv/worker/worker-script.bundle.d.ts +10 -0
  1055. package/dist/types/modules/csv/worker/worker-script.generated.d.ts +6 -0
  1056. package/dist/types/modules/csv/worker/worker.entry.d.ts +11 -0
  1057. package/dist/types/modules/excel/errors.d.ts +133 -0
  1058. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +1 -1
  1059. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +2 -1
  1060. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +10 -8
  1061. package/dist/types/modules/excel/stream/workbook-writer.d.ts +2 -2
  1062. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +1 -1
  1063. package/dist/types/modules/excel/table.d.ts +2 -0
  1064. package/dist/types/modules/excel/types.d.ts +3 -1
  1065. package/dist/types/modules/excel/utils/sheet-utils.d.ts +5 -17
  1066. package/dist/types/modules/excel/utils/stream-buf.d.ts +1 -2
  1067. package/dist/types/modules/excel/workbook.browser.d.ts +327 -0
  1068. package/dist/types/modules/excel/workbook.d.ts +15 -188
  1069. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +1 -1
  1070. package/dist/types/modules/stream/browser/_lazy.d.ts +18 -0
  1071. package/dist/types/modules/stream/browser/chunk-buffer.d.ts +61 -0
  1072. package/dist/types/modules/stream/browser/collector.d.ts +25 -0
  1073. package/dist/types/modules/stream/browser/compose.d.ts +19 -0
  1074. package/dist/types/modules/stream/browser/duplex.d.ts +296 -0
  1075. package/dist/types/modules/stream/browser/factories.d.ts +80 -0
  1076. package/dist/types/modules/stream/browser/helpers.d.ts +13 -0
  1077. package/dist/types/modules/stream/browser/microtask-context.d.ts +44 -0
  1078. package/dist/types/modules/stream/browser/passthrough.d.ts +15 -0
  1079. package/dist/types/modules/stream/browser/pipe-manager.d.ts +38 -0
  1080. package/dist/types/modules/stream/browser/pipeline.d.ts +51 -0
  1081. package/dist/types/modules/stream/browser/readable.d.ts +379 -0
  1082. package/dist/types/modules/stream/browser/transform.d.ts +314 -0
  1083. package/dist/types/modules/stream/browser/utils.d.ts +62 -0
  1084. package/dist/types/modules/stream/browser/writable.d.ts +235 -0
  1085. package/dist/types/modules/stream/buffered-stream.d.ts +4 -3
  1086. package/dist/types/modules/stream/chunked-builder.d.ts +9 -2
  1087. package/dist/types/modules/stream/common/add-abort-signal.d.ts +18 -0
  1088. package/dist/types/modules/stream/common/binary-chunk.d.ts +21 -0
  1089. package/dist/types/modules/stream/common/consumers.d.ts +26 -0
  1090. package/dist/types/modules/stream/common/end-args.d.ts +20 -0
  1091. package/dist/types/modules/stream/common/finished-all.d.ts +10 -0
  1092. package/dist/types/modules/stream/common/options.d.ts +18 -0
  1093. package/dist/types/modules/stream/common/type-guards.d.ts +21 -0
  1094. package/dist/types/modules/stream/common/utils.d.ts +32 -0
  1095. package/dist/types/modules/stream/errors.d.ts +40 -0
  1096. package/dist/types/modules/stream/index.base.d.ts +17 -0
  1097. package/dist/types/modules/stream/index.browser.d.ts +13 -8
  1098. package/dist/types/modules/stream/index.d.ts +10 -8
  1099. package/dist/types/modules/stream/internal/event-utils.d.ts +2 -8
  1100. package/dist/types/modules/stream/internal/evented-readable-to-async-iterable.d.ts +18 -0
  1101. package/dist/types/modules/stream/node/collector.d.ts +30 -0
  1102. package/dist/types/modules/stream/node/compose.d.ts +10 -0
  1103. package/dist/types/modules/stream/node/factories.d.ts +75 -0
  1104. package/dist/types/modules/stream/node/pipeline.d.ts +25 -0
  1105. package/dist/types/modules/stream/node/utils.d.ts +63 -0
  1106. package/dist/types/modules/stream/node/writable.d.ts +47 -0
  1107. package/dist/types/modules/stream/pull-stream.d.ts +3 -5
  1108. package/dist/types/modules/stream/types.d.ts +26 -37
  1109. package/dist/types/modules/stream/utils.base.d.ts +60 -0
  1110. package/dist/types/modules/stream/utils.browser.d.ts +22 -0
  1111. package/dist/types/modules/stream/utils.d.ts +17 -18
  1112. package/dist/types/utils/binary.d.ts +108 -0
  1113. package/dist/types/utils/errors.d.ts +114 -0
  1114. package/dist/types/{modules/stream → utils}/event-emitter.d.ts +3 -1
  1115. package/dist/types/utils/fs.browser.d.ts +73 -0
  1116. package/dist/types/utils/fs.d.ts +285 -0
  1117. package/dist/types/utils/glob.d.ts +82 -0
  1118. package/dist/types/utils/utils.base.d.ts +19 -0
  1119. package/dist/types/utils/utils.browser.d.ts +2 -2
  1120. package/dist/types/utils/utils.d.ts +2 -2
  1121. package/package.json +68 -9
  1122. package/dist/browser/modules/archive/defaults.d.ts +0 -5
  1123. package/dist/browser/modules/archive/utils/binary.d.ts +0 -24
  1124. package/dist/browser/modules/archive/utils/binary.js +0 -69
  1125. package/dist/browser/modules/archive/utils/bytes.d.ts +0 -7
  1126. package/dist/browser/modules/archive/utils/compressibility.d.ts +0 -10
  1127. package/dist/browser/modules/archive/utils/compressibility.js +0 -57
  1128. package/dist/browser/modules/archive/utils/parse-buffer.d.ts +0 -18
  1129. package/dist/browser/modules/archive/utils/parse-buffer.js +0 -53
  1130. package/dist/browser/modules/archive/utils/text.d.ts +0 -20
  1131. package/dist/browser/modules/archive/utils/text.js +0 -33
  1132. package/dist/browser/modules/archive/utils/zip-extra-fields.d.ts +0 -19
  1133. package/dist/browser/modules/archive/utils/zip-extra-fields.js +0 -84
  1134. package/dist/browser/modules/csv/csv-core.d.ts +0 -206
  1135. package/dist/browser/modules/csv/csv-core.js +0 -726
  1136. package/dist/browser/modules/csv/csv-number.d.ts +0 -3
  1137. package/dist/browser/modules/csv/csv-number.js +0 -20
  1138. package/dist/browser/modules/csv/csv-stream.d.ts +0 -121
  1139. package/dist/browser/modules/csv/csv-stream.js +0 -703
  1140. package/dist/browser/modules/csv/csv.browser.d.ts +0 -60
  1141. package/dist/browser/modules/csv/csv.browser.js +0 -265
  1142. package/dist/browser/modules/csv/csv.d.ts +0 -14
  1143. package/dist/browser/modules/csv/csv.js +0 -29
  1144. package/dist/browser/modules/stream/base-transform.d.ts +0 -71
  1145. package/dist/browser/modules/stream/base-transform.js +0 -174
  1146. package/dist/browser/modules/stream/shared.d.ts +0 -54
  1147. package/dist/browser/modules/stream/shared.js +0 -159
  1148. package/dist/browser/modules/stream/streams.browser.d.ts +0 -918
  1149. package/dist/browser/modules/stream/streams.browser.js +0 -3420
  1150. package/dist/browser/modules/stream/streams.d.ts +0 -266
  1151. package/dist/browser/modules/stream/streams.js +0 -1012
  1152. package/dist/cjs/modules/archive/defaults.js +0 -9
  1153. package/dist/cjs/modules/archive/utils/binary.js +0 -75
  1154. package/dist/cjs/modules/archive/utils/compressibility.js +0 -60
  1155. package/dist/cjs/modules/archive/utils/parse-buffer.js +0 -57
  1156. package/dist/cjs/modules/archive/utils/text.js +0 -39
  1157. package/dist/cjs/modules/archive/utils/zip-extra-fields.js +0 -87
  1158. package/dist/cjs/modules/csv/csv-core.js +0 -733
  1159. package/dist/cjs/modules/csv/csv-number.js +0 -24
  1160. package/dist/cjs/modules/csv/csv-stream.js +0 -711
  1161. package/dist/cjs/modules/csv/csv.browser.js +0 -276
  1162. package/dist/cjs/modules/csv/csv.js +0 -37
  1163. package/dist/cjs/modules/stream/base-transform.js +0 -178
  1164. package/dist/cjs/modules/stream/shared.js +0 -171
  1165. package/dist/cjs/modules/stream/streams.browser.js +0 -3466
  1166. package/dist/cjs/modules/stream/streams.js +0 -1058
  1167. package/dist/esm/modules/archive/utils/binary.js +0 -69
  1168. package/dist/esm/modules/archive/utils/compressibility.js +0 -57
  1169. package/dist/esm/modules/archive/utils/parse-buffer.js +0 -53
  1170. package/dist/esm/modules/archive/utils/text.js +0 -33
  1171. package/dist/esm/modules/archive/utils/zip-extra-fields.js +0 -84
  1172. package/dist/esm/modules/csv/csv-core.js +0 -726
  1173. package/dist/esm/modules/csv/csv-number.js +0 -20
  1174. package/dist/esm/modules/csv/csv-stream.js +0 -703
  1175. package/dist/esm/modules/csv/csv.browser.js +0 -265
  1176. package/dist/esm/modules/csv/csv.js +0 -29
  1177. package/dist/esm/modules/stream/base-transform.js +0 -174
  1178. package/dist/esm/modules/stream/shared.js +0 -159
  1179. package/dist/esm/modules/stream/streams.browser.js +0 -3420
  1180. package/dist/esm/modules/stream/streams.js +0 -1012
  1181. package/dist/types/modules/archive/defaults.d.ts +0 -5
  1182. package/dist/types/modules/archive/utils/binary.d.ts +0 -24
  1183. package/dist/types/modules/archive/utils/bytes.d.ts +0 -7
  1184. package/dist/types/modules/archive/utils/compressibility.d.ts +0 -10
  1185. package/dist/types/modules/archive/utils/parse-buffer.d.ts +0 -18
  1186. package/dist/types/modules/archive/utils/text.d.ts +0 -20
  1187. package/dist/types/modules/archive/utils/zip-extra-fields.d.ts +0 -19
  1188. package/dist/types/modules/csv/csv-core.d.ts +0 -206
  1189. package/dist/types/modules/csv/csv-number.d.ts +0 -3
  1190. package/dist/types/modules/csv/csv-stream.d.ts +0 -121
  1191. package/dist/types/modules/csv/csv.browser.d.ts +0 -60
  1192. package/dist/types/modules/csv/csv.d.ts +0 -14
  1193. package/dist/types/modules/stream/base-transform.d.ts +0 -71
  1194. package/dist/types/modules/stream/shared.d.ts +0 -54
  1195. package/dist/types/modules/stream/streams.browser.d.ts +0 -918
  1196. package/dist/types/modules/stream/streams.d.ts +0 -266
  1197. /package/dist/browser/modules/archive/{utils → unzip}/pattern-scanner.d.ts +0 -0
  1198. /package/dist/browser/modules/archive/{utils → unzip}/pattern-scanner.js +0 -0
  1199. /package/dist/cjs/modules/archive/{utils → unzip}/pattern-scanner.js +0 -0
  1200. /package/dist/esm/modules/archive/{utils → unzip}/pattern-scanner.js +0 -0
  1201. /package/dist/types/modules/archive/{utils → unzip}/pattern-scanner.d.ts +0 -0
@@ -0,0 +1,928 @@
1
+ /**
2
+ * CSV Parser Stream
3
+ *
4
+ * True streaming CSV parser using cross-platform stream module.
5
+ * Works identically in both Node.js and Browser environments.
6
+ */
7
+ import { Transform } from "../../stream/index.browser.js";
8
+ import { isSyncTransform, isSyncValidate } from "../types.js";
9
+ import { detectDelimiter, stripBom } from "../utils/detect.js";
10
+ import { applyDynamicTypingToRow, applyDynamicTypingToArrayRow } from "../utils/dynamic-typing.js";
11
+ import { convertRowToObject, filterValidHeaders } from "../parse/helpers.js";
12
+ import { DEFAULT_LINEBREAK_REGEX, getUtf8ByteLength } from "../constants.js";
13
+ import { splitLinesWithEndings } from "../parse/lines.js";
14
+ import { createParseConfig, toScannerConfig } from "../parse/config.js";
15
+ import { createParseState, getUnquotedArray } from "../parse/state.js";
16
+ import { processCompletedRow as processCompletedRowCore, shouldSkipRow as shouldSkipRowCore } from "../parse/row-processor.js";
17
+ // Import Scanner for efficient batch scanning
18
+ import { createScanner } from "../parse/scanner/index.js";
19
+ /**
20
+ * Transform stream that parses CSV data row by row
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const parser = new CsvParserStream({ headers: true });
25
+ * readable.pipe(parser).on('data', (row) => console.log(row));
26
+ * ```
27
+ */
28
+ export class CsvParserStream extends Transform {
29
+ constructor(options = {}) {
30
+ // In objectMode (default), emit Row objects; when objectMode === false, emit JSON strings.
31
+ super({ objectMode: options.objectMode !== false });
32
+ /**
33
+ * Shared sink array for processCompletedRowCore's errors parameter.
34
+ * The streaming parser emits errors via 'data-invalid' events instead,
35
+ * so this array is cleared after each call to prevent unbounded growth.
36
+ */
37
+ this.parseErrorsSink = [];
38
+ // -------------------------------------------------------------------------
39
+ // Streaming-specific state (not in parse-core)
40
+ // -------------------------------------------------------------------------
41
+ this.buffer = "";
42
+ this._rowTransform = null;
43
+ this._rowValidator = null;
44
+ // Delimiter detection
45
+ this.autoDetectDelimiter = false;
46
+ this.delimiterDetected = false;
47
+ // Chunk callback support
48
+ this.chunkBuffer = [];
49
+ this.totalRowsProcessed = 0;
50
+ this.isFirstChunk = true;
51
+ this.chunkAborted = false;
52
+ // Pre-processing flags
53
+ this.beforeFirstChunkApplied = false;
54
+ this.bomStripped = false;
55
+ // Stream control
56
+ this.toLineReached = false;
57
+ this.headersEmitted = false;
58
+ this.totalCharsProcessed = 0;
59
+ // Backpressure handling
60
+ this.backpressure = false;
61
+ this.pendingCallback = null;
62
+ this.options = options;
63
+ this.chunkSize = options.chunkSize ?? 1000;
64
+ // Reuse a single decoder instance and enable streaming decode to correctly handle
65
+ // multi-byte characters split across chunks.
66
+ // Use options.encoding if provided (default: utf-8)
67
+ this.decoder = new TextDecoder(options.encoding || "utf-8");
68
+ // Check if auto-detection is requested (delimiter === "")
69
+ const delimiterOption = options.delimiter ?? ",";
70
+ this.autoDetectDelimiter = delimiterOption === "";
71
+ // Create unified config and state using parse-core factory
72
+ const { config } = createParseConfig({ options });
73
+ this.parseConfig = config;
74
+ this.parseState = createParseState(config);
75
+ // Create Scanner instance for efficient batch scanning
76
+ this.scanner = createScanner(toScannerConfig(config));
77
+ // Apply transform/validate from options if provided
78
+ if (options.rowTransform) {
79
+ this.transform(options.rowTransform);
80
+ }
81
+ if (options.validate) {
82
+ this.validate(options.validate);
83
+ }
84
+ }
85
+ /**
86
+ * Called when downstream is ready for more data (backpressure released).
87
+ * Resume processing if we were paused due to backpressure.
88
+ */
89
+ _read(_size) {
90
+ if (this.backpressure && this.pendingCallback) {
91
+ this.backpressure = false;
92
+ const callback = this.pendingCallback;
93
+ this.pendingCallback = null;
94
+ // Resume processing
95
+ callback();
96
+ }
97
+ }
98
+ /**
99
+ * Set a transform function to modify rows before emitting
100
+ * Supports both sync and async transforms
101
+ */
102
+ transform(transformFunction) {
103
+ if (typeof transformFunction !== "function") {
104
+ throw new TypeError("The transform should be a function");
105
+ }
106
+ if (isSyncTransform(transformFunction)) {
107
+ this._rowTransform = (row, cb) => {
108
+ try {
109
+ const result = transformFunction(row);
110
+ cb(null, result);
111
+ }
112
+ catch (e) {
113
+ cb(e);
114
+ }
115
+ };
116
+ }
117
+ else {
118
+ this._rowTransform = transformFunction;
119
+ }
120
+ return this;
121
+ }
122
+ /**
123
+ * Set a validate function to filter rows
124
+ * Invalid rows emit 'data-invalid' event
125
+ */
126
+ validate(validateFunction) {
127
+ if (typeof validateFunction !== "function") {
128
+ throw new TypeError("The validate should be a function");
129
+ }
130
+ if (isSyncValidate(validateFunction)) {
131
+ this._rowValidator = (row, cb) => {
132
+ try {
133
+ const result = validateFunction(row);
134
+ if (typeof result === "boolean") {
135
+ cb(null, result);
136
+ }
137
+ else {
138
+ cb(null, result.isValid, result.reason);
139
+ }
140
+ }
141
+ catch (e) {
142
+ cb(e);
143
+ }
144
+ };
145
+ }
146
+ else {
147
+ this._rowValidator = validateFunction;
148
+ }
149
+ return this;
150
+ }
151
+ _transform(chunk, _encoding, callback) {
152
+ // If chunk callback aborted parsing or toLine reached, skip all further processing
153
+ if (this.chunkAborted || this.toLineReached) {
154
+ callback();
155
+ return;
156
+ }
157
+ try {
158
+ const data = typeof chunk === "string" ? chunk : this.decoder.decode(chunk, { stream: true });
159
+ this.buffer += data;
160
+ // Apply beforeFirstChunk on first chunk
161
+ if (!this.beforeFirstChunkApplied && this.options.beforeFirstChunk) {
162
+ this.beforeFirstChunkApplied = true;
163
+ const result = this.options.beforeFirstChunk(this.buffer);
164
+ if (typeof result === "string") {
165
+ this.buffer = result;
166
+ }
167
+ }
168
+ // Strip BOM once, after beforeFirstChunk
169
+ if (!this.bomStripped) {
170
+ this.buffer = stripBom(this.buffer);
171
+ this.bomStripped = true;
172
+ }
173
+ // Auto-detect delimiter on first chunk if requested
174
+ // Defer detection if buffer only contains comments/empty lines
175
+ if (this.autoDetectDelimiter && !this.delimiterDetected) {
176
+ // Quick check: find first non-comment, non-empty line without full split
177
+ const comment = this.options.comment;
178
+ let hasDataLine = false;
179
+ let start = 0;
180
+ const bufLen = this.buffer.length;
181
+ while (start < bufLen) {
182
+ // Find end of line
183
+ let end = start;
184
+ while (end < bufLen && this.buffer[end] !== "\n" && this.buffer[end] !== "\r") {
185
+ end++;
186
+ }
187
+ const line = this.buffer.slice(start, end).trim();
188
+ if (line !== "" && (!comment || !line.startsWith(comment))) {
189
+ hasDataLine = true;
190
+ break;
191
+ }
192
+ // Skip past newline(s)
193
+ start = end;
194
+ if (start < bufLen && this.buffer[start] === "\r") {
195
+ start++;
196
+ }
197
+ if (start < bufLen && this.buffer[start] === "\n") {
198
+ start++;
199
+ }
200
+ if (start === end) {
201
+ break;
202
+ } // No progress, avoid infinite loop
203
+ }
204
+ if (hasDataLine) {
205
+ const shouldSkipEmpty = this.options.skipEmptyLines;
206
+ this.parseConfig.delimiter = detectDelimiter(this.buffer, this.parseConfig.quote || '"', this.options.delimitersToGuess, this.options.comment, shouldSkipEmpty);
207
+ this.delimiterDetected = true;
208
+ // Emit delimiter event so consumers can know which delimiter was detected
209
+ this.emit("delimiter", this.parseConfig.delimiter);
210
+ // Re-create Scanner with the detected delimiter
211
+ this.scanner = createScanner(toScannerConfig(this.parseConfig));
212
+ }
213
+ }
214
+ this.processBuffer(callback);
215
+ }
216
+ catch (error) {
217
+ callback(error);
218
+ }
219
+ }
220
+ _flush(callback) {
221
+ // If chunk callback aborted parsing or toLine reached, skip flush
222
+ if (this.chunkAborted || this.toLineReached) {
223
+ callback();
224
+ return;
225
+ }
226
+ try {
227
+ const remainingDecoded = this.decoder.decode();
228
+ if (remainingDecoded) {
229
+ this.buffer += remainingDecoded;
230
+ }
231
+ if (this.buffer) {
232
+ this.processBuffer(err => {
233
+ if (err) {
234
+ callback(err);
235
+ return;
236
+ }
237
+ this.flushCurrentRow(err2 => {
238
+ if (err2) {
239
+ callback(err2);
240
+ return;
241
+ }
242
+ this.flushFinalChunk(callback);
243
+ });
244
+ });
245
+ return;
246
+ }
247
+ this.flushCurrentRow(err => {
248
+ if (err) {
249
+ callback(err);
250
+ return;
251
+ }
252
+ this.flushFinalChunk(callback);
253
+ });
254
+ }
255
+ catch (error) {
256
+ callback(error);
257
+ }
258
+ }
259
+ /**
260
+ * Clean up resources when stream is destroyed.
261
+ * Handles pending backpressure callbacks and clears buffers.
262
+ */
263
+ _destroy(error, callback) {
264
+ // Clear pending backpressure callback to prevent memory leaks
265
+ // The callback is not invoked - the stream is being destroyed
266
+ this.pendingCallback = null;
267
+ this.backpressure = false;
268
+ // Clear buffers
269
+ this.buffer = "";
270
+ this.chunkBuffer = [];
271
+ // Reset scanner if present
272
+ this.scanner.reset();
273
+ callback(error);
274
+ }
275
+ flushCurrentRow(callback) {
276
+ // If toLine was reached, don't process remaining data
277
+ if (this.toLineReached) {
278
+ callback();
279
+ return;
280
+ }
281
+ // In fastMode, parsing is line-based and does not use currentField/currentRow.
282
+ // Flush any remaining buffer as a final line when there's no trailing newline.
283
+ if (this.parseConfig.fastMode) {
284
+ this.flushFastModeRemainder(callback);
285
+ return;
286
+ }
287
+ // Use Scanner's flush to process any remaining data at EOF
288
+ const scanResult = this.scanner.flush();
289
+ if (!scanResult || scanResult.fields.length === 0) {
290
+ callback();
291
+ return;
292
+ }
293
+ // Apply trim to fields.
294
+ // Note: scanResult.fields is reused by the streaming scanner; we must copy even when trim is identity.
295
+ const row = this.parseConfig.trimFieldIsIdentity
296
+ ? scanResult.fields.slice()
297
+ : scanResult.fields.map(this.parseConfig.trimField);
298
+ const pendingRows = [];
299
+ const action = this._handleParsedRow({
300
+ fields: row,
301
+ charLength: 0, // flush — no further offset tracking needed
302
+ raw: scanResult.raw,
303
+ quoted: scanResult.quoted,
304
+ pendingRows,
305
+ shouldSkipEmpty: this.options.skipEmptyLines || false,
306
+ skipLines: this.options.skipLines ?? 0,
307
+ callback
308
+ });
309
+ if (action === "stop" || action === "error") {
310
+ return;
311
+ }
312
+ this.processPendingRows(pendingRows, callback);
313
+ }
314
+ flushFastModeRemainder(callback) {
315
+ let line = this.buffer;
316
+ this.buffer = "";
317
+ // Handle trailing CR that might be from a split CRLF
318
+ // In _flush, there's no more data coming, so trailing \r is a line ending, not content
319
+ if (line.endsWith("\r")) {
320
+ line = line.slice(0, -1);
321
+ }
322
+ if (line === "") {
323
+ callback();
324
+ return;
325
+ }
326
+ const pendingRows = [];
327
+ const row = line.split(this.parseConfig.delimiter);
328
+ const trimmedRow = this.parseConfig.trimFieldIsIdentity
329
+ ? row
330
+ : row.map(this.parseConfig.trimField);
331
+ // In fast mode, no fields are quoted
332
+ const quoted = this.parseConfig.infoOption ? getUnquotedArray(trimmedRow.length) : undefined;
333
+ const action = this._handleParsedRow({
334
+ fields: trimmedRow,
335
+ charLength: 0, // flush — no further offset tracking needed
336
+ raw: line,
337
+ quoted,
338
+ pendingRows,
339
+ shouldSkipEmpty: this.options.skipEmptyLines || false,
340
+ skipLines: this.options.skipLines ?? 0,
341
+ callback
342
+ });
343
+ if (action === "stop" || action === "error") {
344
+ return;
345
+ }
346
+ this.processPendingRows(pendingRows, callback);
347
+ }
348
+ /**
349
+ * Push buffered rows to stream with backpressure support
350
+ * @returns false if backpressure is applied (downstream is full)
351
+ */
352
+ pushBufferedRows(rows) {
353
+ const useJson = this.options.objectMode === false;
354
+ for (const row of rows) {
355
+ const canContinue = this.push(useJson ? JSON.stringify(row) : row);
356
+ if (!canContinue) {
357
+ return false;
358
+ }
359
+ }
360
+ return true;
361
+ }
362
+ /**
363
+ * Push a single row to stream with backpressure support
364
+ * @returns false if backpressure is applied (downstream is full)
365
+ */
366
+ pushRow(row) {
367
+ const useJson = this.options.objectMode === false;
368
+ return this.push(useJson ? JSON.stringify(row) : row);
369
+ }
370
+ /**
371
+ * Invoke chunk callback and handle result (sync or async)
372
+ */
373
+ invokeChunkCallback(rows, meta, callback) {
374
+ const result = this.options.chunk(rows, meta);
375
+ if (result instanceof Promise) {
376
+ result
377
+ .then(shouldContinue => {
378
+ if (shouldContinue === false) {
379
+ this.chunkAborted = true;
380
+ }
381
+ callback();
382
+ })
383
+ .catch(err => callback(err));
384
+ }
385
+ else {
386
+ if (result === false) {
387
+ this.chunkAborted = true;
388
+ }
389
+ callback();
390
+ }
391
+ }
392
+ /**
393
+ * Flush any remaining rows in the chunk buffer at the end of the stream
394
+ */
395
+ flushFinalChunk(callback) {
396
+ if (this.chunkBuffer.length > 0 && this.options.chunk) {
397
+ const chunkRowCount = this.chunkBuffer.length;
398
+ const cursor = this.totalRowsProcessed - chunkRowCount;
399
+ const meta = {
400
+ cursor,
401
+ rowCount: chunkRowCount,
402
+ isFirstChunk: this.isFirstChunk,
403
+ isLastChunk: true
404
+ };
405
+ // Push remaining rows to stream
406
+ this.pushBufferedRows(this.chunkBuffer);
407
+ // Call chunk callback
408
+ const rows = this.chunkBuffer;
409
+ this.chunkBuffer = [];
410
+ this.invokeChunkCallback(rows, meta, callback);
411
+ }
412
+ else {
413
+ callback();
414
+ }
415
+ }
416
+ /**
417
+ * Reset info state for next row (used when skipping rows or after processing)
418
+ */
419
+ processBuffer(callback) {
420
+ const { skipEmptyLines = false, skipLines = 0 } = this.options;
421
+ const shouldSkipEmpty = skipEmptyLines;
422
+ // ==========================================================================
423
+ // Fast Mode: Skip quote detection, split directly by delimiter
424
+ // ==========================================================================
425
+ if (this.parseConfig.fastMode) {
426
+ this.processBufferFastMode(callback, shouldSkipEmpty);
427
+ return;
428
+ }
429
+ // ==========================================================================
430
+ // Standard Mode: Full RFC 4180 compliant parsing with quote handling
431
+ // Uses Scanner for efficient indexOf-based batch scanning
432
+ // ==========================================================================
433
+ const pendingRows = [];
434
+ // Feed current buffer to scanner (scanner accumulates data internally)
435
+ // The scanner maintains its own internal position tracking
436
+ this.scanner.feed(this.buffer);
437
+ this.buffer = ""; // Clear our buffer since scanner now owns the data
438
+ // Process complete rows from scanner
439
+ let scanResult;
440
+ while ((scanResult = this.scanner.nextRow()) !== null) {
441
+ // Always pass raw so _handleParsedRow can count newlines for accurate lineNumber
442
+ const rawRow = scanResult.raw;
443
+ const rowCharLength = (scanResult.raw?.length ?? 0) + (scanResult.newline?.length ?? 0);
444
+ // Apply trim to fields.
445
+ // Note: scanResult.fields is reused by the streaming scanner; we must copy even when trim is identity.
446
+ const row = this.parseConfig.trimFieldIsIdentity
447
+ ? scanResult.fields.slice()
448
+ : scanResult.fields.map(this.parseConfig.trimField);
449
+ const action = this._handleParsedRow({
450
+ fields: row,
451
+ charLength: rowCharLength,
452
+ raw: rawRow,
453
+ quoted: scanResult.quoted,
454
+ pendingRows,
455
+ shouldSkipEmpty,
456
+ skipLines,
457
+ callback
458
+ });
459
+ if (action === "stop") {
460
+ return;
461
+ }
462
+ if (action === "error") {
463
+ return;
464
+ }
465
+ // "continue" and "skip" both fall through to process next row
466
+ }
467
+ // Scanner internally tracks unconsumed data - no need to reset
468
+ // It will continue from where it left off on the next feed()
469
+ this.processPendingRows(pendingRows, callback);
470
+ }
471
+ getFastModeCompleteDataEnd(buffer) {
472
+ const { linebreakRegex } = this.parseConfig;
473
+ if (typeof linebreakRegex === "string") {
474
+ const sep = linebreakRegex;
475
+ if (sep === "") {
476
+ return -1;
477
+ }
478
+ const maxStart = buffer.length - sep.length;
479
+ if (maxStart < 0) {
480
+ return -1;
481
+ }
482
+ const idx = buffer.lastIndexOf(sep, maxStart);
483
+ if (idx === -1) {
484
+ return -1;
485
+ }
486
+ return idx + sep.length;
487
+ }
488
+ // Fast path for default newline detection with CRLF chunk-boundary handling.
489
+ if (linebreakRegex === DEFAULT_LINEBREAK_REGEX) {
490
+ const lastLF = buffer.lastIndexOf("\n");
491
+ const lastCR = buffer.lastIndexOf("\r");
492
+ let lastNewlineIndex;
493
+ if (lastCR > lastLF) {
494
+ // CR comes after LF - check if this is part of a CRLF at end of buffer.
495
+ // If \r is the last char, we need to wait for more data to see if \n follows.
496
+ if (lastCR === buffer.length - 1) {
497
+ lastNewlineIndex = lastLF;
498
+ }
499
+ else {
500
+ lastNewlineIndex = lastCR;
501
+ }
502
+ }
503
+ else {
504
+ lastNewlineIndex = lastLF;
505
+ }
506
+ if (lastNewlineIndex === -1) {
507
+ return -1;
508
+ }
509
+ return lastNewlineIndex + 1;
510
+ }
511
+ const re = new RegExp(linebreakRegex.source, `${linebreakRegex.flags}g`);
512
+ let lastEnd = -1;
513
+ for (let match = re.exec(buffer); match; match = re.exec(buffer)) {
514
+ lastEnd = match.index + match[0].length;
515
+ // Safety: avoid infinite loops for zero-length matches.
516
+ if (match[0].length === 0) {
517
+ re.lastIndex++;
518
+ }
519
+ }
520
+ return lastEnd;
521
+ }
522
+ /**
523
+ * Fast mode buffer processing - skips quote detection, splits directly by delimiter
524
+ */
525
+ processBufferFastMode(callback, shouldSkipEmpty) {
526
+ const { skipLines = 0 } = this.options;
527
+ const pendingRows = [];
528
+ const completeEnd = this.getFastModeCompleteDataEnd(this.buffer);
529
+ // If no complete line, wait for more data
530
+ if (completeEnd === -1) {
531
+ callback();
532
+ return;
533
+ }
534
+ // Process complete lines
535
+ const completeData = this.buffer.slice(0, completeEnd);
536
+ this.buffer = this.buffer.slice(completeEnd);
537
+ for (const { line, lineLengthWithEnding: lineCharLength } of splitLinesWithEndings(completeData, this.parseConfig.linebreakRegex)) {
538
+ // FastMode: skip empty lines early before split (optimization)
539
+ if (line === "" && shouldSkipEmpty) {
540
+ this.parseState.lineNumber++;
541
+ this.totalCharsProcessed += lineCharLength;
542
+ continue;
543
+ }
544
+ // Split by delimiter (fast path - no quote detection)
545
+ const row = line.split(this.parseConfig.delimiter);
546
+ const trimmedRow = this.parseConfig.trimFieldIsIdentity
547
+ ? row
548
+ : row.map(this.parseConfig.trimField);
549
+ // In fast mode, no fields are quoted
550
+ const quoted = this.parseConfig.infoOption ? getUnquotedArray(trimmedRow.length) : undefined;
551
+ const action = this._handleParsedRow({
552
+ fields: trimmedRow,
553
+ charLength: lineCharLength,
554
+ raw: line,
555
+ quoted,
556
+ pendingRows,
557
+ shouldSkipEmpty,
558
+ skipLines,
559
+ callback
560
+ });
561
+ if (action === "stop") {
562
+ return;
563
+ }
564
+ if (action === "error") {
565
+ return;
566
+ }
567
+ }
568
+ this.processPendingRows(pendingRows, callback);
569
+ }
570
+ buildRow(rawRow, info) {
571
+ const { dynamicTyping, castDate, groupColumnsByName = false } = this.options;
572
+ let record;
573
+ if (this.options.headers && this.parseState.headerRow) {
574
+ // Use shared utility for row-to-object conversion
575
+ const obj = convertRowToObject(rawRow, this.parseState.headerRow, this.parseState.originalHeaders, groupColumnsByName);
576
+ // Apply dynamicTyping and/or castDate if configured
577
+ if (dynamicTyping || castDate) {
578
+ record = applyDynamicTypingToRow(obj, dynamicTyping || false, castDate);
579
+ }
580
+ else {
581
+ record = obj;
582
+ }
583
+ }
584
+ else {
585
+ // Array mode
586
+ if (dynamicTyping || castDate) {
587
+ // For array mode, can only use dynamicTyping: true (all columns)
588
+ // or per-column config if we happen to have headers
589
+ record = applyDynamicTypingToArrayRow(rawRow, this.parseState.headerRow ? filterValidHeaders(this.parseState.headerRow) : null, dynamicTyping || false, castDate);
590
+ }
591
+ else {
592
+ record = rawRow;
593
+ }
594
+ }
595
+ // Wrap with info if info option is enabled
596
+ if (this.parseConfig.infoOption) {
597
+ if (!info) {
598
+ // Should not happen: parse-core provides info when infoOption is enabled.
599
+ const fallback = {
600
+ index: 0,
601
+ line: this.parseState.currentRowStartLine,
602
+ offset: this.parseState.currentRowStartOffset,
603
+ quoted: [...this.parseState.currentRowQuoted],
604
+ raw: this.parseConfig.rawOption ? this.parseState.currentRawRow : undefined
605
+ };
606
+ info = fallback;
607
+ }
608
+ // Use unknown cast - when info: true, Row type is extended to RecordWithInfo
609
+ return { record, info };
610
+ }
611
+ return record;
612
+ }
613
+ /**
614
+ * Shared per-row handling for all four processing paths (processBuffer, processBufferFastMode,
615
+ * flushCurrentRow, flushFastModeRemainder).
616
+ *
617
+ * Performs: lineNumber increment, toLine/skipLines checks, info tracking, maxRowBytes,
618
+ * raw row assignment, shouldSkipRow, and processCompletedRow delegation.
619
+ *
620
+ * @returns "continue" — row processed, keep going
621
+ * "skip" — row skipped, keep going
622
+ * "stop" — toLine/maxRows reached; pendingRows already flushed via callback
623
+ * "error" — error passed to callback
624
+ */
625
+ _handleParsedRow(input) {
626
+ const { fields, charLength, raw, quoted, pendingRows, shouldSkipEmpty, skipLines, callback } = input;
627
+ // Save the start line BEFORE counting newlines (for accurate info.line on multi-line rows)
628
+ const rowStartLine = this.parseState.lineNumber + 1;
629
+ // Update line number (count newlines in raw content for multi-line quoted fields)
630
+ if (raw !== undefined) {
631
+ let newlines = 1;
632
+ for (let i = 0; i < raw.length; i++) {
633
+ const ch = raw.charCodeAt(i);
634
+ if (ch === 10) {
635
+ newlines++;
636
+ }
637
+ else if (ch === 13) {
638
+ if (i + 1 < raw.length && raw.charCodeAt(i + 1) === 10) {
639
+ i++;
640
+ }
641
+ newlines++;
642
+ }
643
+ }
644
+ this.parseState.lineNumber += newlines;
645
+ }
646
+ else {
647
+ this.parseState.lineNumber++;
648
+ }
649
+ // Check toLine - stop parsing at specified line number
650
+ const { toLine } = this.options;
651
+ if (toLine !== undefined && this.parseState.lineNumber > toLine) {
652
+ this.toLineReached = true;
653
+ this.totalCharsProcessed += charLength;
654
+ this.processPendingRows(pendingRows, callback);
655
+ return "stop";
656
+ }
657
+ // Skip lines at beginning
658
+ if (this.parseState.lineNumber <= skipLines) {
659
+ this.totalCharsProcessed += charLength;
660
+ return "skip";
661
+ }
662
+ // Set up info tracking state
663
+ if (this.parseConfig.infoOption) {
664
+ this.parseState.currentRowStartLine = rowStartLine;
665
+ this.parseState.currentRowStartOffset = this.totalCharsProcessed;
666
+ if (quoted) {
667
+ this.parseState.currentRowQuoted = quoted;
668
+ }
669
+ }
670
+ // Update char offset (RecordInfo.offset is character offset)
671
+ this.totalCharsProcessed += charLength;
672
+ // Check maxRowBytes limit
673
+ if (raw !== undefined && this.parseConfig.maxRowBytes !== undefined) {
674
+ const rawBytes = getUtf8ByteLength(raw);
675
+ if (rawBytes > this.parseConfig.maxRowBytes) {
676
+ callback(new Error(`Row exceeds the maximum size of ${this.parseConfig.maxRowBytes} bytes`));
677
+ return "error";
678
+ }
679
+ }
680
+ // Set raw row for info tracking
681
+ if (this.parseConfig.rawOption && raw !== undefined) {
682
+ this.parseState.currentRawRow = raw;
683
+ }
684
+ // Skip comment/empty lines
685
+ if (this.shouldSkipRow(fields, shouldSkipEmpty)) {
686
+ return "skip";
687
+ }
688
+ // Process completed row (handles headers, skipRows, column validation, maxRows)
689
+ if (!this.processCompletedRow(fields, pendingRows)) {
690
+ this.processPendingRows(pendingRows, callback);
691
+ return "stop";
692
+ }
693
+ return "continue";
694
+ }
695
+ /**
696
+ * Process a completed row (shared logic for standard and fast mode)
697
+ * Returns true if processing should continue, false if maxRows/toLine reached
698
+ */
699
+ processCompletedRow(row, pendingRows) {
700
+ // State is now unified via accessors - no manual sync needed
701
+ const result = processCompletedRowCore(row, this.parseState, this.parseConfig, this.parseErrorsSink, this.parseState.lineNumber);
702
+ // Clear sink to prevent unbounded memory growth.
703
+ // Errors are reported via result.reason (data-invalid) or onSkip callback;
704
+ // the sink is only used as a shared collector for processCompletedRowCore.
705
+ this.parseErrorsSink.length = 0;
706
+ // Emit headers event when headers become available
707
+ this.emitHeaders();
708
+ // Column mismatch reporting (stream API) - emit event when reason is provided
709
+ if (result.reason) {
710
+ this.emit("data-invalid", row, result.reason);
711
+ }
712
+ if (result.stop) {
713
+ return false;
714
+ }
715
+ if (result.skipped) {
716
+ return true;
717
+ }
718
+ if (result.row) {
719
+ const builtRow = this.buildRow(result.row, result.info);
720
+ // Attach extras to the record for columnMismatch.more: 'keep' (consistent with sync parser)
721
+ if (result.extras && result.extras.length > 0) {
722
+ const record = this.parseConfig.infoOption ? builtRow.record : builtRow;
723
+ record._extra = result.extras;
724
+ }
725
+ pendingRows.push(builtRow);
726
+ }
727
+ return true;
728
+ }
729
+ emitHeaders() {
730
+ if (!this.headersEmitted && this.parseState.headerRow) {
731
+ this.headersEmitted = true;
732
+ this.emit("headers", filterValidHeaders(this.parseState.headerRow));
733
+ }
734
+ }
735
+ /**
736
+ * Check if a line should be skipped (comment or empty)
737
+ */
738
+ shouldSkipRow(row, shouldSkipEmpty) {
739
+ // Delegate to parse-core to keep sync/stream behavior aligned.
740
+ // Note: row passed here is already split into fields.
741
+ return shouldSkipRowCore(row, this.parseConfig.comment, shouldSkipEmpty, false // skipRecordsWithEmptyValues is handled inside processCompletedRowCore
742
+ );
743
+ }
744
+ processPendingRows(rows, callback) {
745
+ if (rows.length === 0) {
746
+ callback();
747
+ return;
748
+ }
749
+ // If chunk callback aborted, skip processing
750
+ if (this.chunkAborted) {
751
+ callback();
752
+ return;
753
+ }
754
+ // Fast path: no transform or validate, push all rows directly
755
+ if (!this._rowTransform && !this._rowValidator) {
756
+ let index = 0;
757
+ const processNextBatch = () => {
758
+ while (index < rows.length && !this.chunkAborted) {
759
+ const row = rows[index++];
760
+ if (this.options.chunk) {
761
+ // Collect rows for chunk callback
762
+ this.chunkBuffer.push(row);
763
+ this.totalRowsProcessed++;
764
+ // Check if chunk is full
765
+ if (this.chunkBuffer.length >= this.chunkSize) {
766
+ this.flushChunk(err => {
767
+ if (err) {
768
+ callback(err);
769
+ return;
770
+ }
771
+ // If chunk callback aborted, stop processing
772
+ if (this.chunkAborted) {
773
+ callback();
774
+ return;
775
+ }
776
+ // Trampoline: yield to event loop periodically to prevent stack overflow
777
+ if (index % 1000 === 0) {
778
+ setTimeout(processNextBatch, 0);
779
+ }
780
+ else {
781
+ processNextBatch();
782
+ }
783
+ });
784
+ return;
785
+ }
786
+ }
787
+ else {
788
+ // No chunk callback, push directly with backpressure support
789
+ const canContinue = this.pushRow(row);
790
+ if (!canContinue) {
791
+ // Backpressure applied - pause and wait for _read()
792
+ this.backpressure = true;
793
+ this.pendingCallback = () => processNextBatch();
794
+ return;
795
+ }
796
+ }
797
+ }
798
+ callback();
799
+ };
800
+ processNextBatch();
801
+ return;
802
+ }
803
+ // Slow path: process rows one by one with transform/validate
804
+ let index = 0;
805
+ const processNext = () => {
806
+ if (index >= rows.length) {
807
+ callback();
808
+ return;
809
+ }
810
+ const row = rows[index++];
811
+ this.transformAndValidateRow(row, (err, result) => {
812
+ if (err) {
813
+ callback(err);
814
+ return;
815
+ }
816
+ if (result && result.isValid && result.row !== null) {
817
+ if (this.options.chunk) {
818
+ // Collect rows for chunk callback
819
+ this.chunkBuffer.push(result.row);
820
+ this.totalRowsProcessed++;
821
+ // Check if chunk is full
822
+ if (this.chunkBuffer.length >= this.chunkSize) {
823
+ this.flushChunk(err2 => {
824
+ if (err2) {
825
+ callback(err2);
826
+ return;
827
+ }
828
+ // Continue processing after chunk flush
829
+ if (index % 1000 === 0) {
830
+ setTimeout(processNext, 0);
831
+ }
832
+ else {
833
+ processNext();
834
+ }
835
+ });
836
+ return;
837
+ }
838
+ }
839
+ else {
840
+ // No chunk callback, push directly with backpressure support
841
+ const canContinue = this.pushRow(result.row);
842
+ if (!canContinue) {
843
+ // Backpressure applied - pause and wait for _read()
844
+ this.backpressure = true;
845
+ this.pendingCallback = () => processNext();
846
+ return;
847
+ }
848
+ }
849
+ }
850
+ else if (result && !result.isValid) {
851
+ this.emit("data-invalid", result.row, result.reason);
852
+ }
853
+ // Use setTimeout to prevent stack overflow for large datasets
854
+ if (index % 1000 === 0) {
855
+ setTimeout(processNext, 0);
856
+ }
857
+ else {
858
+ processNext();
859
+ }
860
+ });
861
+ };
862
+ processNext();
863
+ }
864
+ /**
865
+ * Flush the current chunk buffer to the chunk callback
866
+ */
867
+ flushChunk(callback) {
868
+ if (this.chunkBuffer.length === 0 || !this.options.chunk) {
869
+ callback();
870
+ return;
871
+ }
872
+ const chunkRowCount = this.chunkBuffer.length;
873
+ const cursor = this.totalRowsProcessed - chunkRowCount;
874
+ const meta = {
875
+ cursor,
876
+ rowCount: chunkRowCount,
877
+ isFirstChunk: this.isFirstChunk,
878
+ isLastChunk: false
879
+ };
880
+ this.isFirstChunk = false;
881
+ // Take rows and clear buffer before callback
882
+ const rows = this.chunkBuffer;
883
+ this.chunkBuffer = [];
884
+ // Push rows to stream, then invoke callback
885
+ this.pushBufferedRows(rows);
886
+ this.invokeChunkCallback(rows, meta, callback);
887
+ }
888
+ transformAndValidateRow(row, callback) {
889
+ // First apply transform
890
+ if (this._rowTransform) {
891
+ this._rowTransform(row, (transformErr, transformedRow) => {
892
+ if (transformErr) {
893
+ callback(transformErr);
894
+ return;
895
+ }
896
+ if (transformedRow === null || transformedRow === undefined) {
897
+ callback(null, { row: null, isValid: true });
898
+ return;
899
+ }
900
+ // Then validate
901
+ this.validateRow(transformedRow, callback);
902
+ });
903
+ }
904
+ else {
905
+ this.validateRow(row, callback);
906
+ }
907
+ }
908
+ validateRow(row, callback) {
909
+ if (this._rowValidator) {
910
+ this._rowValidator(row, (validateErr, isValid, reason) => {
911
+ if (validateErr) {
912
+ callback(validateErr);
913
+ return;
914
+ }
915
+ callback(null, { row, isValid: isValid ?? false, reason });
916
+ });
917
+ }
918
+ else {
919
+ callback(null, { row, isValid: true });
920
+ }
921
+ }
922
+ }
923
+ /**
924
+ * Create parser stream factory
925
+ */
926
+ export function createCsvParserStream(options = {}) {
927
+ return new CsvParserStream(options);
928
+ }