@cj-tech-master/excelts 4.0.0 → 4.0.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 (630) hide show
  1. package/README.md +2 -2
  2. package/README_zh.md +2 -2
  3. package/dist/browser/index.browser.d.ts +25 -0
  4. package/dist/browser/index.browser.js +40 -0
  5. package/dist/browser/index.d.ts +23 -0
  6. package/dist/browser/index.js +35 -0
  7. package/dist/browser/modules/archive/byte-queue.d.ts +18 -0
  8. package/dist/browser/modules/archive/byte-queue.js +125 -0
  9. package/dist/browser/modules/archive/compress.base.d.ts +98 -0
  10. package/dist/browser/modules/archive/compress.base.js +173 -0
  11. package/dist/browser/modules/archive/compress.browser.d.ts +57 -0
  12. package/dist/browser/modules/archive/compress.browser.js +93 -0
  13. package/dist/browser/modules/archive/compress.d.ts +44 -0
  14. package/dist/browser/modules/archive/compress.js +86 -0
  15. package/dist/browser/modules/archive/crc32.base.d.ts +25 -0
  16. package/dist/browser/modules/archive/crc32.base.js +51 -0
  17. package/dist/browser/modules/archive/crc32.browser.d.ts +30 -0
  18. package/dist/browser/modules/archive/crc32.browser.js +32 -0
  19. package/dist/browser/modules/archive/crc32.d.ts +59 -0
  20. package/dist/browser/modules/archive/crc32.js +97 -0
  21. package/dist/browser/modules/archive/defaults.d.ts +4 -0
  22. package/dist/browser/modules/archive/defaults.js +3 -0
  23. package/dist/browser/modules/archive/deflate-fallback.d.ts +39 -0
  24. package/dist/browser/modules/archive/deflate-fallback.js +564 -0
  25. package/dist/browser/modules/archive/extract.d.ts +94 -0
  26. package/dist/browser/modules/archive/extract.js +106 -0
  27. package/dist/browser/modules/archive/index.base.d.ts +11 -0
  28. package/dist/browser/modules/archive/index.base.js +13 -0
  29. package/dist/browser/modules/archive/index.browser.d.ts +11 -0
  30. package/dist/browser/modules/archive/index.browser.js +17 -0
  31. package/dist/browser/modules/archive/index.d.ts +11 -0
  32. package/dist/browser/modules/archive/index.js +15 -0
  33. package/dist/browser/modules/archive/parse.base.d.ts +198 -0
  34. package/dist/browser/modules/archive/parse.base.js +610 -0
  35. package/dist/browser/modules/archive/parse.browser.d.ts +22 -0
  36. package/dist/browser/modules/archive/parse.browser.js +564 -0
  37. package/dist/browser/modules/archive/parse.d.ts +16 -0
  38. package/dist/browser/modules/archive/parse.js +94 -0
  39. package/dist/browser/modules/archive/streaming-compress.base.d.ts +36 -0
  40. package/dist/browser/modules/archive/streaming-compress.base.js +9 -0
  41. package/dist/browser/modules/archive/streaming-compress.browser.d.ts +26 -0
  42. package/dist/browser/modules/archive/streaming-compress.browser.js +296 -0
  43. package/dist/browser/modules/archive/streaming-compress.d.ts +22 -0
  44. package/dist/browser/modules/archive/streaming-compress.js +68 -0
  45. package/dist/browser/modules/archive/streaming-zip.d.ts +120 -0
  46. package/dist/browser/modules/archive/streaming-zip.js +407 -0
  47. package/dist/browser/modules/archive/utils/binary.d.ts +24 -0
  48. package/dist/browser/modules/archive/utils/binary.js +69 -0
  49. package/dist/browser/modules/archive/utils/bytes.d.ts +7 -0
  50. package/dist/browser/modules/archive/utils/bytes.js +101 -0
  51. package/dist/browser/modules/archive/utils/parse-buffer.d.ts +18 -0
  52. package/dist/browser/modules/archive/utils/parse-buffer.js +55 -0
  53. package/dist/browser/modules/archive/utils/text.d.ts +20 -0
  54. package/dist/browser/modules/archive/utils/text.js +33 -0
  55. package/dist/browser/modules/archive/utils/timestamps.d.ts +28 -0
  56. package/dist/browser/modules/archive/utils/timestamps.js +48 -0
  57. package/dist/browser/modules/archive/utils/zip-extra-fields.d.ts +19 -0
  58. package/dist/browser/modules/archive/utils/zip-extra-fields.js +72 -0
  59. package/dist/browser/modules/archive/utils/zip-extra.d.ts +18 -0
  60. package/dist/browser/modules/archive/utils/zip-extra.js +68 -0
  61. package/dist/browser/modules/archive/zip-builder.d.ts +117 -0
  62. package/dist/browser/modules/archive/zip-builder.js +292 -0
  63. package/dist/browser/modules/archive/zip-constants.d.ts +18 -0
  64. package/dist/browser/modules/archive/zip-constants.js +23 -0
  65. package/dist/browser/modules/archive/zip-entry-info.d.ts +29 -0
  66. package/dist/browser/modules/archive/zip-entry-info.js +6 -0
  67. package/dist/browser/modules/archive/zip-entry-metadata.d.ts +23 -0
  68. package/dist/browser/modules/archive/zip-entry-metadata.js +24 -0
  69. package/dist/browser/modules/archive/zip-parser.d.ts +62 -0
  70. package/dist/browser/modules/archive/zip-parser.js +332 -0
  71. package/dist/browser/modules/archive/zip-records.d.ts +43 -0
  72. package/dist/browser/modules/archive/zip-records.js +84 -0
  73. package/dist/browser/modules/csv/csv-core.d.ts +215 -0
  74. package/dist/browser/modules/csv/csv-core.js +723 -0
  75. package/dist/browser/modules/csv/csv-number.d.ts +3 -0
  76. package/dist/browser/modules/csv/csv-number.js +20 -0
  77. package/dist/browser/modules/csv/csv-stream.d.ts +121 -0
  78. package/dist/browser/modules/csv/csv-stream.js +703 -0
  79. package/dist/browser/modules/csv/csv.browser.d.ts +60 -0
  80. package/dist/browser/modules/csv/csv.browser.js +265 -0
  81. package/dist/browser/modules/csv/csv.d.ts +14 -0
  82. package/dist/browser/modules/csv/csv.js +29 -0
  83. package/dist/browser/modules/excel/anchor.d.ts +33 -0
  84. package/dist/browser/modules/excel/anchor.js +97 -0
  85. package/dist/browser/modules/excel/cell.d.ts +138 -0
  86. package/dist/browser/modules/excel/cell.js +946 -0
  87. package/dist/browser/modules/excel/column.d.ts +122 -0
  88. package/dist/browser/modules/excel/column.js +358 -0
  89. package/dist/browser/modules/excel/data-validations.d.ts +11 -0
  90. package/dist/browser/modules/excel/data-validations.js +43 -0
  91. package/dist/browser/modules/excel/defined-names.d.ts +37 -0
  92. package/dist/browser/modules/excel/defined-names.js +214 -0
  93. package/dist/browser/modules/excel/enums.d.ts +62 -0
  94. package/dist/browser/modules/excel/enums.js +58 -0
  95. package/dist/browser/modules/excel/image.d.ts +64 -0
  96. package/dist/browser/modules/excel/image.js +60 -0
  97. package/dist/browser/modules/excel/note.d.ts +29 -0
  98. package/dist/browser/modules/excel/note.js +61 -0
  99. package/dist/browser/modules/excel/pivot-table.d.ts +152 -0
  100. package/dist/browser/modules/excel/pivot-table.js +237 -0
  101. package/dist/browser/modules/excel/range.d.ts +62 -0
  102. package/dist/browser/modules/excel/range.js +280 -0
  103. package/dist/browser/modules/excel/row.d.ts +127 -0
  104. package/dist/browser/modules/excel/row.js +441 -0
  105. package/dist/browser/modules/excel/stream/hyperlink-reader.d.ts +33 -0
  106. package/dist/browser/modules/excel/stream/hyperlink-reader.js +84 -0
  107. package/dist/browser/modules/excel/stream/sheet-comments-writer.d.ts +26 -0
  108. package/dist/browser/modules/excel/stream/sheet-comments-writer.js +101 -0
  109. package/dist/browser/modules/excel/stream/sheet-rels-writer.d.ts +45 -0
  110. package/dist/browser/modules/excel/stream/sheet-rels-writer.js +91 -0
  111. package/dist/browser/modules/excel/stream/workbook-reader.browser.d.ts +169 -0
  112. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +443 -0
  113. package/dist/browser/modules/excel/stream/workbook-reader.d.ts +24 -0
  114. package/dist/browser/modules/excel/stream/workbook-reader.js +50 -0
  115. package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +147 -0
  116. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +356 -0
  117. package/dist/browser/modules/excel/stream/workbook-writer.d.ts +31 -0
  118. package/dist/browser/modules/excel/stream/workbook-writer.js +52 -0
  119. package/dist/browser/modules/excel/stream/worksheet-reader.d.ts +61 -0
  120. package/dist/browser/modules/excel/stream/worksheet-reader.js +367 -0
  121. package/dist/browser/modules/excel/stream/worksheet-writer.d.ts +140 -0
  122. package/dist/browser/modules/excel/stream/worksheet-writer.js +613 -0
  123. package/dist/browser/modules/excel/table.d.ts +81 -0
  124. package/dist/browser/modules/excel/table.js +405 -0
  125. package/dist/browser/modules/excel/types.d.ts +518 -0
  126. package/dist/browser/modules/excel/types.js +22 -0
  127. package/dist/browser/modules/excel/utils/cell-format.d.ts +32 -0
  128. package/dist/browser/modules/excel/utils/cell-format.js +814 -0
  129. package/dist/browser/modules/excel/utils/cell-matrix.d.ts +37 -0
  130. package/dist/browser/modules/excel/utils/cell-matrix.js +180 -0
  131. package/dist/browser/modules/excel/utils/col-cache.d.ts +36 -0
  132. package/dist/browser/modules/excel/utils/col-cache.js +278 -0
  133. package/dist/browser/modules/excel/utils/copy-style.d.ts +5 -0
  134. package/dist/browser/modules/excel/utils/copy-style.js +43 -0
  135. package/dist/browser/modules/excel/utils/encryptor.browser.d.ts +19 -0
  136. package/dist/browser/modules/excel/utils/encryptor.browser.js +46 -0
  137. package/dist/browser/modules/excel/utils/encryptor.d.ts +9 -0
  138. package/dist/browser/modules/excel/utils/encryptor.js +35 -0
  139. package/dist/browser/modules/excel/utils/iterate-stream.d.ts +14 -0
  140. package/dist/browser/modules/excel/utils/iterate-stream.js +55 -0
  141. package/dist/browser/modules/excel/utils/ooxml-paths.d.ts +64 -0
  142. package/dist/browser/modules/excel/utils/ooxml-paths.js +209 -0
  143. package/dist/browser/modules/excel/utils/parse-sax.d.ts +113 -0
  144. package/dist/browser/modules/excel/utils/parse-sax.js +1206 -0
  145. package/dist/browser/modules/excel/utils/shared-formula.d.ts +2 -0
  146. package/dist/browser/modules/excel/utils/shared-formula.js +36 -0
  147. package/dist/browser/modules/excel/utils/shared-strings.d.ts +12 -0
  148. package/dist/browser/modules/excel/utils/shared-strings.js +29 -0
  149. package/dist/browser/modules/excel/utils/sheet-utils.d.ts +190 -0
  150. package/dist/browser/modules/excel/utils/sheet-utils.js +674 -0
  151. package/dist/browser/modules/excel/utils/stream-buf.d.ts +126 -0
  152. package/dist/browser/modules/excel/utils/stream-buf.js +452 -0
  153. package/dist/browser/modules/excel/utils/string-buf.d.ts +29 -0
  154. package/dist/browser/modules/excel/utils/string-buf.js +75 -0
  155. package/dist/browser/modules/excel/utils/under-dash.d.ts +7 -0
  156. package/dist/browser/modules/excel/utils/under-dash.js +166 -0
  157. package/dist/browser/modules/excel/utils/xml-stream.d.ts +34 -0
  158. package/dist/browser/modules/excel/utils/xml-stream.js +179 -0
  159. package/dist/browser/modules/excel/workbook.d.ts +195 -0
  160. package/dist/browser/modules/excel/workbook.js +314 -0
  161. package/dist/browser/modules/excel/worksheet.d.ts +333 -0
  162. package/dist/browser/modules/excel/worksheet.js +924 -0
  163. package/dist/browser/modules/excel/xlsx/defaultnumformats.d.ts +12 -0
  164. package/dist/browser/modules/excel/xlsx/defaultnumformats.js +149 -0
  165. package/dist/browser/modules/excel/xlsx/rel-type.d.ts +19 -0
  166. package/dist/browser/modules/excel/xlsx/rel-type.js +19 -0
  167. package/dist/browser/modules/excel/xlsx/xform/base-xform.d.ts +33 -0
  168. package/dist/browser/modules/excel/xlsx/xform/base-xform.js +135 -0
  169. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +17 -0
  170. package/dist/browser/modules/excel/xlsx/xform/book/defined-name-xform.js +124 -0
  171. package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.d.ts +14 -0
  172. package/dist/browser/modules/excel/xlsx/xform/book/sheet-xform.js +30 -0
  173. package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +11 -0
  174. package/dist/browser/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.js +21 -0
  175. package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +12 -0
  176. package/dist/browser/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.js +24 -0
  177. package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +11 -0
  178. package/dist/browser/modules/excel/xlsx/xform/book/workbook-properties-xform.js +24 -0
  179. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +17 -0
  180. package/dist/browser/modules/excel/xlsx/xform/book/workbook-view-xform.js +46 -0
  181. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.d.ts +23 -0
  182. package/dist/browser/modules/excel/xlsx/xform/book/workbook-xform.js +234 -0
  183. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.d.ts +28 -0
  184. package/dist/browser/modules/excel/xlsx/xform/comment/comment-xform.js +76 -0
  185. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.d.ts +21 -0
  186. package/dist/browser/modules/excel/xlsx/xform/comment/comments-xform.js +72 -0
  187. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +16 -0
  188. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-position-xform.js +34 -0
  189. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +14 -0
  190. package/dist/browser/modules/excel/xlsx/xform/comment/style/vml-protection-xform.js +30 -0
  191. package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +27 -0
  192. package/dist/browser/modules/excel/xlsx/xform/comment/vml-anchor-xform.js +55 -0
  193. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +35 -0
  194. package/dist/browser/modules/excel/xlsx/xform/comment/vml-client-data-xform.js +82 -0
  195. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +24 -0
  196. package/dist/browser/modules/excel/xlsx/xform/comment/vml-notes-xform.js +96 -0
  197. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +25 -0
  198. package/dist/browser/modules/excel/xlsx/xform/comment/vml-shape-xform.js +83 -0
  199. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +23 -0
  200. package/dist/browser/modules/excel/xlsx/xform/comment/vml-textbox-xform.js +60 -0
  201. package/dist/browser/modules/excel/xlsx/xform/composite-xform.d.ts +11 -0
  202. package/dist/browser/modules/excel/xlsx/xform/composite-xform.js +48 -0
  203. package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +8 -0
  204. package/dist/browser/modules/excel/xlsx/xform/core/app-heading-pairs-xform.js +24 -0
  205. package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +8 -0
  206. package/dist/browser/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.js +21 -0
  207. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.d.ts +26 -0
  208. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +83 -0
  209. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.d.ts +11 -0
  210. package/dist/browser/modules/excel/xlsx/xform/core/content-types-xform.js +122 -0
  211. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.d.ts +42 -0
  212. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.js +124 -0
  213. package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.d.ts +14 -0
  214. package/dist/browser/modules/excel/xlsx/xform/core/relationship-xform.js +20 -0
  215. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.d.ts +14 -0
  216. package/dist/browser/modules/excel/xlsx/xform/core/relationships-xform.js +62 -0
  217. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +13 -0
  218. package/dist/browser/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.js +44 -0
  219. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +16 -0
  220. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-fill-xform.js +57 -0
  221. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +14 -0
  222. package/dist/browser/modules/excel/xlsx/xform/drawing/blip-xform.js +40 -0
  223. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +9 -0
  224. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.js +32 -0
  225. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +18 -0
  226. package/dist/browser/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.js +59 -0
  227. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +24 -0
  228. package/dist/browser/modules/excel/xlsx/xform/drawing/cell-position-xform.js +68 -0
  229. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +24 -0
  230. package/dist/browser/modules/excel/xlsx/xform/drawing/drawing-xform.js +96 -0
  231. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +9 -0
  232. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-lst-xform.js +37 -0
  233. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +20 -0
  234. package/dist/browser/modules/excel/xlsx/xform/drawing/ext-xform.js +34 -0
  235. package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +11 -0
  236. package/dist/browser/modules/excel/xlsx/xform/drawing/hlink-click-xform.js +39 -0
  237. package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +15 -0
  238. package/dist/browser/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.js +56 -0
  239. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +20 -0
  240. package/dist/browser/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.js +52 -0
  241. package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +22 -0
  242. package/dist/browser/modules/excel/xlsx/xform/drawing/pic-xform.js +64 -0
  243. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.d.ts +32 -0
  244. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-pr.js +17 -0
  245. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +20 -0
  246. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +51 -0
  247. package/dist/browser/modules/excel/xlsx/xform/list-xform.d.ts +32 -0
  248. package/dist/browser/modules/excel/xlsx/xform/list-xform.js +89 -0
  249. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +42 -0
  250. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field-xform.js +128 -0
  251. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.d.ts +15 -0
  252. package/dist/browser/modules/excel/xlsx/xform/pivot-table/cache-field.js +78 -0
  253. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +60 -0
  254. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.js +179 -0
  255. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +73 -0
  256. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.js +234 -0
  257. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +119 -0
  258. package/dist/browser/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.js +624 -0
  259. package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +8 -0
  260. package/dist/browser/modules/excel/xlsx/xform/sheet/auto-filter-xform.js +34 -0
  261. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +17 -0
  262. package/dist/browser/modules/excel/xlsx/xform/sheet/cell-xform.js +460 -0
  263. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +41 -0
  264. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.js +259 -0
  265. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +8 -0
  266. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.js +22 -0
  267. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +13 -0
  268. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.js +35 -0
  269. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +9 -0
  270. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.js +37 -0
  271. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +16 -0
  272. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.js +74 -0
  273. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +13 -0
  274. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/databar-xform.js +39 -0
  275. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +9 -0
  276. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.js +67 -0
  277. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +9 -0
  278. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/formula-xform.js +19 -0
  279. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +11 -0
  280. package/dist/browser/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.js +37 -0
  281. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +10 -0
  282. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.js +22 -0
  283. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +23 -0
  284. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js +80 -0
  285. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +13 -0
  286. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.js +35 -0
  287. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +16 -0
  288. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.js +48 -0
  289. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +13 -0
  290. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.js +40 -0
  291. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +29 -0
  292. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.js +69 -0
  293. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +9 -0
  294. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.js +19 -0
  295. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +20 -0
  296. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.js +60 -0
  297. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +9 -0
  298. package/dist/browser/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.js +19 -0
  299. package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +16 -0
  300. package/dist/browser/modules/excel/xlsx/xform/sheet/col-breaks-xform.js +35 -0
  301. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.d.ts +22 -0
  302. package/dist/browser/modules/excel/xlsx/xform/sheet/col-xform.js +75 -0
  303. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +12 -0
  304. package/dist/browser/modules/excel/xlsx/xform/sheet/data-validations-xform.js +269 -0
  305. package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +10 -0
  306. package/dist/browser/modules/excel/xlsx/xform/sheet/dimension-xform.js +23 -0
  307. package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +12 -0
  308. package/dist/browser/modules/excel/xlsx/xform/sheet/drawing-xform.js +27 -0
  309. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +16 -0
  310. package/dist/browser/modules/excel/xlsx/xform/sheet/ext-lst-xform.js +66 -0
  311. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +20 -0
  312. package/dist/browser/modules/excel/xlsx/xform/sheet/header-footer-xform.js +124 -0
  313. package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +16 -0
  314. package/dist/browser/modules/excel/xlsx/xform/sheet/hyperlink-xform.js +47 -0
  315. package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +9 -0
  316. package/dist/browser/modules/excel/xlsx/xform/sheet/merge-cell-xform.js +21 -0
  317. package/dist/browser/modules/excel/xlsx/xform/sheet/merges.d.ts +14 -0
  318. package/dist/browser/modules/excel/xlsx/xform/sheet/merges.js +50 -0
  319. package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +13 -0
  320. package/dist/browser/modules/excel/xlsx/xform/sheet/outline-properties-xform.js +36 -0
  321. package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +14 -0
  322. package/dist/browser/modules/excel/xlsx/xform/sheet/page-breaks-xform.js +33 -0
  323. package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +17 -0
  324. package/dist/browser/modules/excel/xlsx/xform/sheet/page-margins-xform.js +42 -0
  325. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +12 -0
  326. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.js +29 -0
  327. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +27 -0
  328. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +96 -0
  329. package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +12 -0
  330. package/dist/browser/modules/excel/xlsx/xform/sheet/picture-xform.js +27 -0
  331. package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +15 -0
  332. package/dist/browser/modules/excel/xlsx/xform/sheet/print-options-xform.js +41 -0
  333. package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +10 -0
  334. package/dist/browser/modules/excel/xlsx/xform/sheet/row-breaks-xform.js +29 -0
  335. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.d.ts +37 -0
  336. package/dist/browser/modules/excel/xlsx/xform/sheet/row-xform.js +152 -0
  337. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +16 -0
  338. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.js +49 -0
  339. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +19 -0
  340. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-properties-xform.js +82 -0
  341. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +31 -0
  342. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-protection-xform.js +80 -0
  343. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +32 -0
  344. package/dist/browser/modules/excel/xlsx/xform/sheet/sheet-view-xform.js +193 -0
  345. package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +12 -0
  346. package/dist/browser/modules/excel/xlsx/xform/sheet/table-part-xform.js +27 -0
  347. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +21 -0
  348. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +518 -0
  349. package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +15 -0
  350. package/dist/browser/modules/excel/xlsx/xform/simple/boolean-xform.js +24 -0
  351. package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.d.ts +22 -0
  352. package/dist/browser/modules/excel/xlsx/xform/simple/date-xform.js +65 -0
  353. package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.d.ts +18 -0
  354. package/dist/browser/modules/excel/xlsx/xform/simple/float-xform.js +47 -0
  355. package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.d.ts +20 -0
  356. package/dist/browser/modules/excel/xlsx/xform/simple/integer-xform.js +52 -0
  357. package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.d.ts +18 -0
  358. package/dist/browser/modules/excel/xlsx/xform/simple/string-xform.js +47 -0
  359. package/dist/browser/modules/excel/xlsx/xform/static-xform.d.ts +17 -0
  360. package/dist/browser/modules/excel/xlsx/xform/static-xform.js +55 -0
  361. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +20 -0
  362. package/dist/browser/modules/excel/xlsx/xform/strings/phonetic-text-xform.js +86 -0
  363. package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +25 -0
  364. package/dist/browser/modules/excel/xlsx/xform/strings/rich-text-xform.js +77 -0
  365. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +17 -0
  366. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.js +90 -0
  367. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +27 -0
  368. package/dist/browser/modules/excel/xlsx/xform/strings/shared-strings-xform.js +109 -0
  369. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.d.ts +10 -0
  370. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.js +36 -0
  371. package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.d.ts +18 -0
  372. package/dist/browser/modules/excel/xlsx/xform/style/alignment-xform.js +152 -0
  373. package/dist/browser/modules/excel/xlsx/xform/style/border-xform.d.ts +49 -0
  374. package/dist/browser/modules/excel/xlsx/xform/style/border-xform.js +188 -0
  375. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.d.ts +17 -0
  376. package/dist/browser/modules/excel/xlsx/xform/style/color-xform.js +61 -0
  377. package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.d.ts +23 -0
  378. package/dist/browser/modules/excel/xlsx/xform/style/dxf-xform.js +92 -0
  379. package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.d.ts +85 -0
  380. package/dist/browser/modules/excel/xlsx/xform/style/fill-xform.js +312 -0
  381. package/dist/browser/modules/excel/xlsx/xform/style/font-xform.d.ts +35 -0
  382. package/dist/browser/modules/excel/xlsx/xform/style/font-xform.js +100 -0
  383. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +18 -0
  384. package/dist/browser/modules/excel/xlsx/xform/style/numfmt-xform.js +50 -0
  385. package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.d.ts +13 -0
  386. package/dist/browser/modules/excel/xlsx/xform/style/protection-xform.js +49 -0
  387. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.d.ts +30 -0
  388. package/dist/browser/modules/excel/xlsx/xform/style/style-xform.js +108 -0
  389. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.d.ts +46 -0
  390. package/dist/browser/modules/excel/xlsx/xform/style/styles-xform.js +484 -0
  391. package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.d.ts +14 -0
  392. package/dist/browser/modules/excel/xlsx/xform/style/underline-xform.js +38 -0
  393. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +21 -0
  394. package/dist/browser/modules/excel/xlsx/xform/table/auto-filter-xform.js +70 -0
  395. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +15 -0
  396. package/dist/browser/modules/excel/xlsx/xform/table/custom-filter-xform.js +31 -0
  397. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +24 -0
  398. package/dist/browser/modules/excel/xlsx/xform/table/filter-column-xform.js +87 -0
  399. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.d.ts +14 -0
  400. package/dist/browser/modules/excel/xlsx/xform/table/filter-xform.js +29 -0
  401. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.d.ts +21 -0
  402. package/dist/browser/modules/excel/xlsx/xform/table/table-column-xform.js +41 -0
  403. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +18 -0
  404. package/dist/browser/modules/excel/xlsx/xform/table/table-style-info-xform.js +44 -0
  405. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.d.ts +33 -0
  406. package/dist/browser/modules/excel/xlsx/xform/table/table-xform.js +126 -0
  407. package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +208 -0
  408. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +1152 -0
  409. package/dist/browser/modules/excel/xlsx/xlsx.d.ts +24 -0
  410. package/dist/browser/modules/excel/xlsx/xlsx.js +239 -0
  411. package/dist/browser/modules/excel/xlsx/xml/theme1.d.ts +1 -0
  412. package/dist/browser/modules/excel/xlsx/xml/theme1.js +1 -0
  413. package/dist/browser/modules/stream/base-transform.d.ts +68 -0
  414. package/dist/browser/modules/stream/base-transform.js +160 -0
  415. package/dist/browser/modules/stream/buffered-stream.d.ts +94 -0
  416. package/dist/browser/modules/stream/buffered-stream.js +277 -0
  417. package/dist/browser/modules/stream/chunked-builder.d.ts +97 -0
  418. package/dist/browser/modules/stream/chunked-builder.js +165 -0
  419. package/dist/browser/modules/stream/event-emitter.d.ts +30 -0
  420. package/dist/browser/modules/stream/event-emitter.js +239 -0
  421. package/dist/browser/modules/stream/index.browser.d.ts +22 -0
  422. package/dist/browser/modules/stream/index.browser.js +25 -0
  423. package/dist/browser/modules/stream/index.d.ts +49 -0
  424. package/dist/browser/modules/stream/index.js +52 -0
  425. package/dist/browser/modules/stream/pull-stream.d.ts +67 -0
  426. package/dist/browser/modules/stream/pull-stream.js +204 -0
  427. package/dist/browser/modules/stream/shared.d.ts +54 -0
  428. package/dist/browser/modules/stream/shared.js +156 -0
  429. package/dist/browser/modules/stream/streams.browser.d.ts +936 -0
  430. package/dist/browser/modules/stream/streams.browser.js +3297 -0
  431. package/dist/browser/modules/stream/streams.d.ts +282 -0
  432. package/dist/browser/modules/stream/streams.js +940 -0
  433. package/dist/browser/modules/stream/types.d.ts +238 -0
  434. package/dist/browser/modules/stream/types.js +7 -0
  435. package/dist/browser/modules/stream/utils.d.ts +24 -0
  436. package/dist/browser/modules/stream/utils.js +85 -0
  437. package/dist/browser/utils/browser.d.ts +9 -0
  438. package/dist/browser/utils/browser.js +49 -0
  439. package/dist/browser/utils/datetime.d.ts +56 -0
  440. package/dist/browser/utils/datetime.js +493 -0
  441. package/dist/browser/utils/env.d.ts +14 -0
  442. package/dist/browser/utils/env.js +18 -0
  443. package/dist/browser/utils/utils.base.d.ts +49 -0
  444. package/dist/browser/utils/utils.base.js +275 -0
  445. package/dist/browser/utils/utils.browser.d.ts +6 -0
  446. package/dist/browser/utils/utils.browser.js +12 -0
  447. package/dist/browser/utils/utils.d.ts +6 -0
  448. package/dist/browser/utils/utils.js +19 -0
  449. package/dist/browser/utils/uuid.d.ts +11 -0
  450. package/dist/browser/utils/uuid.js +55 -0
  451. package/dist/{browser → iife}/excelts.iife.js +1 -1
  452. package/dist/{browser → iife}/excelts.iife.min.js +1 -1
  453. package/dist/types/index.browser.d.ts +20 -20
  454. package/dist/types/index.d.ts +23 -23
  455. package/dist/types/modules/archive/compress.browser.d.ts +1 -1
  456. package/dist/types/modules/archive/compress.d.ts +2 -2
  457. package/dist/types/modules/archive/crc32.browser.d.ts +1 -1
  458. package/dist/types/modules/archive/crc32.d.ts +1 -1
  459. package/dist/types/modules/archive/defaults.d.ts +1 -1
  460. package/dist/types/modules/archive/extract.d.ts +2 -2
  461. package/dist/types/modules/archive/index.base.d.ts +4 -4
  462. package/dist/types/modules/archive/index.browser.d.ts +5 -5
  463. package/dist/types/modules/archive/index.d.ts +5 -5
  464. package/dist/types/modules/archive/parse.base.d.ts +3 -3
  465. package/dist/types/modules/archive/parse.browser.d.ts +2 -2
  466. package/dist/types/modules/archive/parse.d.ts +3 -3
  467. package/dist/types/modules/archive/streaming-compress.browser.d.ts +2 -2
  468. package/dist/types/modules/archive/streaming-compress.d.ts +2 -2
  469. package/dist/types/modules/archive/streaming-zip.d.ts +2 -2
  470. package/dist/types/modules/archive/zip-builder.d.ts +2 -2
  471. package/dist/types/modules/archive/zip-entry-metadata.d.ts +1 -1
  472. package/dist/types/modules/archive/zip-parser.d.ts +1 -1
  473. package/dist/types/modules/csv/csv-stream.d.ts +3 -3
  474. package/dist/types/modules/csv/csv.browser.d.ts +9 -9
  475. package/dist/types/modules/csv/csv.d.ts +4 -4
  476. package/dist/types/modules/excel/anchor.d.ts +1 -1
  477. package/dist/types/modules/excel/cell.d.ts +7 -7
  478. package/dist/types/modules/excel/column.d.ts +3 -3
  479. package/dist/types/modules/excel/defined-names.d.ts +4 -4
  480. package/dist/types/modules/excel/image.d.ts +2 -2
  481. package/dist/types/modules/excel/pivot-table.d.ts +1 -1
  482. package/dist/types/modules/excel/range.d.ts +1 -1
  483. package/dist/types/modules/excel/row.d.ts +3 -3
  484. package/dist/types/modules/excel/stream/hyperlink-reader.d.ts +2 -2
  485. package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +6 -6
  486. package/dist/types/modules/excel/stream/workbook-reader.d.ts +5 -5
  487. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +8 -8
  488. package/dist/types/modules/excel/stream/workbook-writer.d.ts +2 -2
  489. package/dist/types/modules/excel/stream/worksheet-reader.d.ts +6 -6
  490. package/dist/types/modules/excel/stream/worksheet-writer.d.ts +9 -9
  491. package/dist/types/modules/excel/table.d.ts +2 -2
  492. package/dist/types/modules/excel/utils/col-cache.d.ts +1 -1
  493. package/dist/types/modules/excel/utils/sheet-utils.d.ts +3 -3
  494. package/dist/types/modules/excel/utils/stream-buf.d.ts +2 -2
  495. package/dist/types/modules/excel/workbook.d.ts +9 -9
  496. package/dist/types/modules/excel/worksheet.d.ts +10 -10
  497. package/dist/types/modules/excel/xlsx/xform/base-xform.d.ts +1 -1
  498. package/dist/types/modules/excel/xlsx/xform/book/defined-name-xform.d.ts +1 -1
  499. package/dist/types/modules/excel/xlsx/xform/book/sheet-xform.d.ts +1 -1
  500. package/dist/types/modules/excel/xlsx/xform/book/workbook-calc-properties-xform.d.ts +1 -1
  501. package/dist/types/modules/excel/xlsx/xform/book/workbook-pivot-cache-xform.d.ts +1 -1
  502. package/dist/types/modules/excel/xlsx/xform/book/workbook-properties-xform.d.ts +1 -1
  503. package/dist/types/modules/excel/xlsx/xform/book/workbook-view-xform.d.ts +1 -1
  504. package/dist/types/modules/excel/xlsx/xform/book/workbook-xform.d.ts +2 -2
  505. package/dist/types/modules/excel/xlsx/xform/comment/comment-xform.d.ts +2 -2
  506. package/dist/types/modules/excel/xlsx/xform/comment/comments-xform.d.ts +2 -2
  507. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-position-xform.d.ts +1 -1
  508. package/dist/types/modules/excel/xlsx/xform/comment/style/vml-protection-xform.d.ts +1 -1
  509. package/dist/types/modules/excel/xlsx/xform/comment/vml-anchor-xform.d.ts +1 -1
  510. package/dist/types/modules/excel/xlsx/xform/comment/vml-client-data-xform.d.ts +1 -1
  511. package/dist/types/modules/excel/xlsx/xform/comment/vml-notes-xform.d.ts +1 -1
  512. package/dist/types/modules/excel/xlsx/xform/comment/vml-shape-xform.d.ts +1 -1
  513. package/dist/types/modules/excel/xlsx/xform/comment/vml-textbox-xform.d.ts +1 -1
  514. package/dist/types/modules/excel/xlsx/xform/composite-xform.d.ts +1 -1
  515. package/dist/types/modules/excel/xlsx/xform/core/app-heading-pairs-xform.d.ts +1 -1
  516. package/dist/types/modules/excel/xlsx/xform/core/app-titles-of-parts-xform.d.ts +1 -1
  517. package/dist/types/modules/excel/xlsx/xform/core/app-xform.d.ts +1 -1
  518. package/dist/types/modules/excel/xlsx/xform/core/content-types-xform.d.ts +1 -1
  519. package/dist/types/modules/excel/xlsx/xform/core/core-xform.d.ts +1 -1
  520. package/dist/types/modules/excel/xlsx/xform/core/relationship-xform.d.ts +1 -1
  521. package/dist/types/modules/excel/xlsx/xform/core/relationships-xform.d.ts +1 -1
  522. package/dist/types/modules/excel/xlsx/xform/drawing/base-cell-anchor-xform.d.ts +1 -1
  523. package/dist/types/modules/excel/xlsx/xform/drawing/blip-fill-xform.d.ts +2 -2
  524. package/dist/types/modules/excel/xlsx/xform/drawing/blip-xform.d.ts +1 -1
  525. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pic-pr-xform.d.ts +1 -1
  526. package/dist/types/modules/excel/xlsx/xform/drawing/c-nv-pr-xform.d.ts +1 -1
  527. package/dist/types/modules/excel/xlsx/xform/drawing/cell-position-xform.d.ts +2 -2
  528. package/dist/types/modules/excel/xlsx/xform/drawing/drawing-xform.d.ts +1 -1
  529. package/dist/types/modules/excel/xlsx/xform/drawing/ext-lst-xform.d.ts +1 -1
  530. package/dist/types/modules/excel/xlsx/xform/drawing/ext-xform.d.ts +1 -1
  531. package/dist/types/modules/excel/xlsx/xform/drawing/hlink-click-xform.d.ts +1 -1
  532. package/dist/types/modules/excel/xlsx/xform/drawing/nv-pic-pr-xform.d.ts +1 -1
  533. package/dist/types/modules/excel/xlsx/xform/drawing/one-cell-anchor-xform.d.ts +1 -1
  534. package/dist/types/modules/excel/xlsx/xform/drawing/pic-xform.d.ts +1 -1
  535. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +1 -1
  536. package/dist/types/modules/excel/xlsx/xform/list-xform.d.ts +1 -1
  537. package/dist/types/modules/excel/xlsx/xform/pivot-table/cache-field-xform.d.ts +1 -1
  538. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-definition-xform.d.ts +3 -3
  539. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-cache-records-xform.d.ts +2 -2
  540. package/dist/types/modules/excel/xlsx/xform/pivot-table/pivot-table-xform.d.ts +1 -1
  541. package/dist/types/modules/excel/xlsx/xform/sheet/auto-filter-xform.d.ts +1 -1
  542. package/dist/types/modules/excel/xlsx/xform/sheet/cell-xform.d.ts +1 -1
  543. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cf-rule-xform.d.ts +6 -6
  544. package/dist/types/modules/excel/xlsx/xform/sheet/cf/cfvo-xform.d.ts +1 -1
  545. package/dist/types/modules/excel/xlsx/xform/sheet/cf/color-scale-xform.d.ts +3 -3
  546. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formatting-xform.d.ts +1 -1
  547. package/dist/types/modules/excel/xlsx/xform/sheet/cf/conditional-formattings-xform.d.ts +2 -2
  548. package/dist/types/modules/excel/xlsx/xform/sheet/cf/databar-xform.d.ts +3 -3
  549. package/dist/types/modules/excel/xlsx/xform/sheet/cf/ext-lst-ref-xform.d.ts +1 -1
  550. package/dist/types/modules/excel/xlsx/xform/sheet/cf/formula-xform.d.ts +1 -1
  551. package/dist/types/modules/excel/xlsx/xform/sheet/cf/icon-set-xform.d.ts +2 -2
  552. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-icon-ext-xform.d.ts +1 -1
  553. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.d.ts +3 -3
  554. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/cfvo-ext-xform.d.ts +2 -2
  555. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formatting-ext-xform.d.ts +3 -3
  556. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/conditional-formattings-ext-xform.d.ts +2 -2
  557. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/databar-ext-xform.d.ts +3 -3
  558. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/f-ext-xform.d.ts +1 -1
  559. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/icon-set-ext-xform.d.ts +3 -3
  560. package/dist/types/modules/excel/xlsx/xform/sheet/cf-ext/sqref-ext-xform.d.ts +1 -1
  561. package/dist/types/modules/excel/xlsx/xform/sheet/col-breaks-xform.d.ts +1 -1
  562. package/dist/types/modules/excel/xlsx/xform/sheet/col-xform.d.ts +1 -1
  563. package/dist/types/modules/excel/xlsx/xform/sheet/data-validations-xform.d.ts +1 -1
  564. package/dist/types/modules/excel/xlsx/xform/sheet/dimension-xform.d.ts +1 -1
  565. package/dist/types/modules/excel/xlsx/xform/sheet/drawing-xform.d.ts +1 -1
  566. package/dist/types/modules/excel/xlsx/xform/sheet/ext-lst-xform.d.ts +1 -1
  567. package/dist/types/modules/excel/xlsx/xform/sheet/header-footer-xform.d.ts +1 -1
  568. package/dist/types/modules/excel/xlsx/xform/sheet/hyperlink-xform.d.ts +1 -1
  569. package/dist/types/modules/excel/xlsx/xform/sheet/merge-cell-xform.d.ts +1 -1
  570. package/dist/types/modules/excel/xlsx/xform/sheet/outline-properties-xform.d.ts +1 -1
  571. package/dist/types/modules/excel/xlsx/xform/sheet/page-breaks-xform.d.ts +1 -1
  572. package/dist/types/modules/excel/xlsx/xform/sheet/page-margins-xform.d.ts +1 -1
  573. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-properties-xform.d.ts +1 -1
  574. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -1
  575. package/dist/types/modules/excel/xlsx/xform/sheet/picture-xform.d.ts +1 -1
  576. package/dist/types/modules/excel/xlsx/xform/sheet/print-options-xform.d.ts +1 -1
  577. package/dist/types/modules/excel/xlsx/xform/sheet/row-breaks-xform.d.ts +1 -1
  578. package/dist/types/modules/excel/xlsx/xform/sheet/row-xform.d.ts +1 -1
  579. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-format-properties-xform.d.ts +1 -1
  580. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-properties-xform.d.ts +1 -1
  581. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-protection-xform.d.ts +1 -1
  582. package/dist/types/modules/excel/xlsx/xform/sheet/sheet-view-xform.d.ts +1 -1
  583. package/dist/types/modules/excel/xlsx/xform/sheet/table-part-xform.d.ts +1 -1
  584. package/dist/types/modules/excel/xlsx/xform/sheet/worksheet-xform.d.ts +1 -1
  585. package/dist/types/modules/excel/xlsx/xform/simple/boolean-xform.d.ts +1 -1
  586. package/dist/types/modules/excel/xlsx/xform/simple/date-xform.d.ts +1 -1
  587. package/dist/types/modules/excel/xlsx/xform/simple/float-xform.d.ts +1 -1
  588. package/dist/types/modules/excel/xlsx/xform/simple/integer-xform.d.ts +1 -1
  589. package/dist/types/modules/excel/xlsx/xform/simple/string-xform.d.ts +1 -1
  590. package/dist/types/modules/excel/xlsx/xform/static-xform.d.ts +1 -1
  591. package/dist/types/modules/excel/xlsx/xform/strings/phonetic-text-xform.d.ts +1 -1
  592. package/dist/types/modules/excel/xlsx/xform/strings/rich-text-xform.d.ts +3 -3
  593. package/dist/types/modules/excel/xlsx/xform/strings/shared-string-xform.d.ts +1 -1
  594. package/dist/types/modules/excel/xlsx/xform/strings/shared-strings-xform.d.ts +2 -2
  595. package/dist/types/modules/excel/xlsx/xform/strings/text-xform.d.ts +1 -1
  596. package/dist/types/modules/excel/xlsx/xform/style/alignment-xform.d.ts +1 -1
  597. package/dist/types/modules/excel/xlsx/xform/style/border-xform.d.ts +2 -2
  598. package/dist/types/modules/excel/xlsx/xform/style/color-xform.d.ts +1 -1
  599. package/dist/types/modules/excel/xlsx/xform/style/dxf-xform.d.ts +1 -1
  600. package/dist/types/modules/excel/xlsx/xform/style/fill-xform.d.ts +2 -2
  601. package/dist/types/modules/excel/xlsx/xform/style/font-xform.d.ts +1 -1
  602. package/dist/types/modules/excel/xlsx/xform/style/numfmt-xform.d.ts +1 -1
  603. package/dist/types/modules/excel/xlsx/xform/style/protection-xform.d.ts +1 -1
  604. package/dist/types/modules/excel/xlsx/xform/style/style-xform.d.ts +3 -3
  605. package/dist/types/modules/excel/xlsx/xform/style/styles-xform.d.ts +2 -2
  606. package/dist/types/modules/excel/xlsx/xform/style/underline-xform.d.ts +1 -1
  607. package/dist/types/modules/excel/xlsx/xform/table/auto-filter-xform.d.ts +2 -2
  608. package/dist/types/modules/excel/xlsx/xform/table/custom-filter-xform.d.ts +1 -1
  609. package/dist/types/modules/excel/xlsx/xform/table/filter-column-xform.d.ts +2 -2
  610. package/dist/types/modules/excel/xlsx/xform/table/filter-xform.d.ts +1 -1
  611. package/dist/types/modules/excel/xlsx/xform/table/table-column-xform.d.ts +1 -1
  612. package/dist/types/modules/excel/xlsx/xform/table/table-style-info-xform.d.ts +1 -1
  613. package/dist/types/modules/excel/xlsx/xform/table/table-xform.d.ts +1 -1
  614. package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +3 -3
  615. package/dist/types/modules/excel/xlsx/xlsx.d.ts +1 -1
  616. package/dist/types/modules/stream/base-transform.d.ts +1 -1
  617. package/dist/types/modules/stream/buffered-stream.d.ts +1 -1
  618. package/dist/types/modules/stream/index.browser.d.ts +8 -8
  619. package/dist/types/modules/stream/index.d.ts +8 -8
  620. package/dist/types/modules/stream/pull-stream.d.ts +1 -1
  621. package/dist/types/modules/stream/streams.browser.d.ts +4 -4
  622. package/dist/types/modules/stream/streams.d.ts +3 -3
  623. package/dist/types/modules/stream/utils.d.ts +1 -1
  624. package/dist/types/utils/utils.browser.d.ts +1 -1
  625. package/dist/types/utils/utils.d.ts +1 -1
  626. package/package.json +10 -6
  627. package/dist/browser/excelts.esm.js +0 -24621
  628. package/dist/browser/excelts.esm.js.map +0 -1
  629. package/dist/browser/excelts.esm.min.js +0 -148
  630. /package/dist/{browser → iife}/excelts.iife.js.map +0 -0
@@ -0,0 +1,332 @@
1
+ /**
2
+ * Pure Uint8Array-based ZIP parser
3
+ * Works in both Node.js and browser environments
4
+ * No dependency on Node.js stream module
5
+ */
6
+ import { decompress, decompressSync } from "./compress.browser.js";
7
+ import { BinaryReader } from "./utils/binary.js";
8
+ import { resolveZipLastModifiedDateFromUnixSeconds } from "./utils/timestamps.js";
9
+ import { parseZipExtraFields } from "./utils/zip-extra-fields.js";
10
+ import { CENTRAL_DIR_HEADER_SIG, COMPRESSION_DEFLATE, COMPRESSION_STORE, END_OF_CENTRAL_DIR_SIG, LOCAL_FILE_HEADER_SIG, UINT16_MAX, UINT32_MAX, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG, ZIP64_END_OF_CENTRAL_DIR_SIG } from "./zip-constants.js";
11
+ /**
12
+ * Find the End of Central Directory record
13
+ * Searches backwards from the end of the file
14
+ */
15
+ function findEndOfCentralDir(data) {
16
+ // EOCD is at least 22 bytes, search backwards
17
+ // Comment can be up to 65535 bytes
18
+ const minOffset = Math.max(0, data.length - 65557);
19
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
20
+ for (let i = data.length - 22; i >= minOffset; i--) {
21
+ if (view.getUint32(i, true) === END_OF_CENTRAL_DIR_SIG) {
22
+ return i;
23
+ }
24
+ }
25
+ return -1;
26
+ }
27
+ /**
28
+ * Find ZIP64 End of Central Directory Locator
29
+ */
30
+ function findZip64EOCDLocator(data, eocdOffset) {
31
+ // ZIP64 EOCD Locator is 20 bytes and appears right before EOCD
32
+ const locatorOffset = eocdOffset - 20;
33
+ if (locatorOffset < 0) {
34
+ return -1;
35
+ }
36
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
37
+ if (view.getUint32(locatorOffset, true) === ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG) {
38
+ return locatorOffset;
39
+ }
40
+ return -1;
41
+ }
42
+ /**
43
+ * Parse ZIP file entries from Central Directory
44
+ */
45
+ function parseZipEntries(data, options = {}) {
46
+ const { decodeStrings = true } = options;
47
+ const entries = [];
48
+ // Find End of Central Directory
49
+ const eocdOffset = findEndOfCentralDir(data);
50
+ if (eocdOffset === -1) {
51
+ throw new Error("Invalid ZIP file: End of Central Directory not found");
52
+ }
53
+ const reader = new BinaryReader(data, eocdOffset);
54
+ // Read EOCD
55
+ // Offset Size Description
56
+ // 0 4 EOCD signature (0x06054b50)
57
+ // 4 2 Number of this disk
58
+ // 6 2 Disk where central directory starts
59
+ // 8 2 Number of central directory records on this disk
60
+ // 10 2 Total number of central directory records
61
+ // 12 4 Size of central directory (bytes)
62
+ // 16 4 Offset of start of central directory
63
+ // 20 2 Comment length
64
+ reader.skip(4); // signature
65
+ reader.skip(2); // disk number
66
+ reader.skip(2); // disk where central dir starts
67
+ reader.skip(2); // entries on this disk
68
+ let totalEntries = reader.readUint16(); // total entries
69
+ reader.skip(4); // central directory size (unused)
70
+ let centralDirOffset = reader.readUint32();
71
+ // Check for ZIP64
72
+ const zip64LocatorOffset = findZip64EOCDLocator(data, eocdOffset);
73
+ if (zip64LocatorOffset !== -1) {
74
+ const locatorReader = new BinaryReader(data, zip64LocatorOffset);
75
+ locatorReader.skip(4); // signature
76
+ locatorReader.skip(4); // disk number with ZIP64 EOCD
77
+ const zip64EOCDOffset = Number(locatorReader.readBigUint64());
78
+ // Read ZIP64 EOCD
79
+ const zip64Reader = new BinaryReader(data, zip64EOCDOffset);
80
+ const zip64Sig = zip64Reader.readUint32();
81
+ if (zip64Sig === ZIP64_END_OF_CENTRAL_DIR_SIG) {
82
+ zip64Reader.skip(8); // size of ZIP64 EOCD
83
+ zip64Reader.skip(2); // version made by
84
+ zip64Reader.skip(2); // version needed
85
+ zip64Reader.skip(4); // disk number
86
+ zip64Reader.skip(4); // disk with central dir
87
+ const zip64TotalEntries = Number(zip64Reader.readBigUint64());
88
+ zip64Reader.skip(8); // central directory size (unused)
89
+ const zip64CentralDirOffset = Number(zip64Reader.readBigUint64());
90
+ // Use ZIP64 values if standard values are maxed out
91
+ if (totalEntries === UINT16_MAX) {
92
+ totalEntries = zip64TotalEntries;
93
+ }
94
+ if (centralDirOffset === UINT32_MAX) {
95
+ centralDirOffset = zip64CentralDirOffset;
96
+ }
97
+ }
98
+ }
99
+ // Read Central Directory entries
100
+ const centralReader = new BinaryReader(data, centralDirOffset);
101
+ for (let i = 0; i < totalEntries; i++) {
102
+ const sig = centralReader.readUint32();
103
+ if (sig !== CENTRAL_DIR_HEADER_SIG) {
104
+ throw new Error(`Invalid Central Directory header signature at entry ${i}`);
105
+ }
106
+ // Central Directory File Header format:
107
+ // Offset Size Description
108
+ // 0 4 Central directory file header signature (0x02014b50)
109
+ // 4 2 Version made by
110
+ // 6 2 Version needed to extract
111
+ // 8 2 General purpose bit flag
112
+ // 10 2 Compression method
113
+ // 12 2 File last modification time
114
+ // 14 2 File last modification date
115
+ // 16 4 CRC-32
116
+ // 20 4 Compressed size
117
+ // 24 4 Uncompressed size
118
+ // 28 2 File name length
119
+ // 30 2 Extra field length
120
+ // 32 2 File comment length
121
+ // 34 2 Disk number where file starts
122
+ // 36 2 Internal file attributes
123
+ // 38 4 External file attributes
124
+ // 42 4 Relative offset of local file header
125
+ // 46 n File name
126
+ // 46+n m Extra field
127
+ // 46+n+m k File comment
128
+ centralReader.skip(2); // version made by
129
+ centralReader.skip(2); // version needed
130
+ const flags = centralReader.readUint16();
131
+ const compressionMethod = centralReader.readUint16();
132
+ const lastModTime = centralReader.readUint16();
133
+ const lastModDate = centralReader.readUint16();
134
+ const crc32 = centralReader.readUint32();
135
+ let compressedSize = centralReader.readUint32();
136
+ let uncompressedSize = centralReader.readUint32();
137
+ const fileNameLength = centralReader.readUint16();
138
+ const extraFieldLength = centralReader.readUint16();
139
+ const commentLength = centralReader.readUint16();
140
+ centralReader.skip(2); // disk number start
141
+ centralReader.skip(2); // internal attributes
142
+ const externalAttributes = centralReader.readUint32();
143
+ let localHeaderOffset = centralReader.readUint32();
144
+ // Check for UTF-8 flag (bit 11)
145
+ const isUtf8 = (flags & 0x800) !== 0;
146
+ const useUtf8 = decodeStrings && isUtf8;
147
+ const fileName = centralReader.readString(fileNameLength, useUtf8);
148
+ const extraField = centralReader.readBytes(extraFieldLength);
149
+ const comment = centralReader.readString(commentLength, useUtf8);
150
+ const vars = {
151
+ compressedSize,
152
+ uncompressedSize,
153
+ offsetToLocalFileHeader: localHeaderOffset
154
+ };
155
+ const extraFields = extraFieldLength > 0 ? parseZipExtraFields(extraField, vars) : {};
156
+ compressedSize = vars.compressedSize;
157
+ uncompressedSize = vars.uncompressedSize;
158
+ localHeaderOffset = vars.offsetToLocalFileHeader ?? localHeaderOffset;
159
+ const isDirectory = fileName.endsWith("/") || (externalAttributes & 0x10) !== 0;
160
+ const isEncrypted = (flags & 0x01) !== 0;
161
+ const unixSecondsMtime = extraFields.mtimeUnixSeconds;
162
+ const lastModified = resolveZipLastModifiedDateFromUnixSeconds(lastModDate, lastModTime, unixSecondsMtime);
163
+ entries.push({
164
+ path: fileName,
165
+ isDirectory,
166
+ compressedSize,
167
+ uncompressedSize,
168
+ compressionMethod,
169
+ crc32,
170
+ lastModified,
171
+ localHeaderOffset,
172
+ comment,
173
+ externalAttributes,
174
+ isEncrypted
175
+ });
176
+ }
177
+ return entries;
178
+ }
179
+ /**
180
+ * Extract file data for a specific entry
181
+ */
182
+ async function extractEntryData(data, entry) {
183
+ if (entry.isDirectory) {
184
+ return new Uint8Array(0);
185
+ }
186
+ if (entry.isEncrypted) {
187
+ throw new Error(`File "${entry.path}" is encrypted and cannot be extracted`);
188
+ }
189
+ const compressedData = readEntryCompressedData(data, entry);
190
+ if (entry.compressionMethod === COMPRESSION_STORE) {
191
+ return compressedData;
192
+ }
193
+ if (entry.compressionMethod === COMPRESSION_DEFLATE) {
194
+ return decompress(compressedData);
195
+ }
196
+ throw new Error(`Unsupported compression method: ${entry.compressionMethod}`);
197
+ }
198
+ /**
199
+ * Extract file data synchronously
200
+ */
201
+ function extractEntryDataSync(data, entry) {
202
+ if (entry.isDirectory) {
203
+ return new Uint8Array(0);
204
+ }
205
+ if (entry.isEncrypted) {
206
+ throw new Error(`File "${entry.path}" is encrypted and cannot be extracted`);
207
+ }
208
+ const compressedData = readEntryCompressedData(data, entry);
209
+ if (entry.compressionMethod === COMPRESSION_STORE) {
210
+ return compressedData;
211
+ }
212
+ if (entry.compressionMethod === COMPRESSION_DEFLATE) {
213
+ return decompressSync(compressedData);
214
+ }
215
+ throw new Error(`Unsupported compression method: ${entry.compressionMethod}`);
216
+ }
217
+ function readEntryCompressedData(data, entry) {
218
+ const reader = new BinaryReader(data, entry.localHeaderOffset);
219
+ const sig = reader.readUint32();
220
+ if (sig !== LOCAL_FILE_HEADER_SIG) {
221
+ throw new Error(`Invalid local file header signature for "${entry.path}"`);
222
+ }
223
+ reader.skip(2); // version needed
224
+ reader.skip(2); // flags
225
+ reader.skip(2); // compression method
226
+ reader.skip(2); // last mod time
227
+ reader.skip(2); // last mod date
228
+ reader.skip(4); // crc32
229
+ reader.skip(4); // compressed size
230
+ reader.skip(4); // uncompressed size
231
+ const fileNameLength = reader.readUint16();
232
+ const extraFieldLength = reader.readUint16();
233
+ reader.skip(fileNameLength);
234
+ reader.skip(extraFieldLength);
235
+ return reader.readBytes(entry.compressedSize);
236
+ }
237
+ /**
238
+ * High-level ZIP parser class
239
+ */
240
+ export class ZipParser {
241
+ constructor(data, options = {}) {
242
+ this.data = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
243
+ this.entries = parseZipEntries(this.data, options);
244
+ this.entryMap = new Map(this.entries.map(e => [e.path, e]));
245
+ }
246
+ /**
247
+ * Get all entries in the ZIP file
248
+ */
249
+ getEntries() {
250
+ return this.entries;
251
+ }
252
+ /**
253
+ * Get entry by path
254
+ */
255
+ getEntry(path) {
256
+ return this.entryMap.get(path);
257
+ }
258
+ /**
259
+ * Check if entry exists
260
+ */
261
+ hasEntry(path) {
262
+ return this.entryMap.has(path);
263
+ }
264
+ /**
265
+ * List all file paths
266
+ */
267
+ listFiles() {
268
+ return this.entries.map(e => e.path);
269
+ }
270
+ /**
271
+ * Extract a single file (async)
272
+ */
273
+ async extract(path) {
274
+ const entry = this.entryMap.get(path);
275
+ if (!entry) {
276
+ return null;
277
+ }
278
+ return extractEntryData(this.data, entry);
279
+ }
280
+ /**
281
+ * Extract a single file (sync)
282
+ *
283
+ * This is supported in both Node.js and browser builds.
284
+ */
285
+ extractSync(path) {
286
+ const entry = this.entryMap.get(path);
287
+ if (!entry) {
288
+ return null;
289
+ }
290
+ return extractEntryDataSync(this.data, entry);
291
+ }
292
+ /**
293
+ * Extract all files (async)
294
+ */
295
+ async extractAll() {
296
+ const result = new Map();
297
+ for (const entry of this.entries) {
298
+ const data = await extractEntryData(this.data, entry);
299
+ result.set(entry.path, data);
300
+ }
301
+ return result;
302
+ }
303
+ /**
304
+ * Extract all files (sync)
305
+ * Returns object with file paths as keys and Uint8Array content as values
306
+ */
307
+ extractAllSync() {
308
+ const result = {};
309
+ for (const entry of this.entries) {
310
+ result[entry.path] = extractEntryDataSync(this.data, entry);
311
+ }
312
+ return result;
313
+ }
314
+ /**
315
+ * Iterate over entries with async callback
316
+ */
317
+ async forEach(callback) {
318
+ for (const entry of this.entries) {
319
+ let dataPromise = null;
320
+ const getData = () => {
321
+ if (!dataPromise) {
322
+ dataPromise = extractEntryData(this.data, entry);
323
+ }
324
+ return dataPromise;
325
+ };
326
+ const shouldContinue = await callback(entry, getData);
327
+ if (shouldContinue === false) {
328
+ break;
329
+ }
330
+ }
331
+ }
332
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * ZIP record builders (PKWARE APPNOTE)
3
+ *
4
+ * Shared by streaming zip writer and buffer zip builder.
5
+ */
6
+ export interface ZipLocalFileHeaderInput {
7
+ fileName: Uint8Array;
8
+ extraField: Uint8Array;
9
+ flags: number;
10
+ compressionMethod: number;
11
+ dosTime: number;
12
+ dosDate: number;
13
+ crc32: number;
14
+ compressedSize: number;
15
+ uncompressedSize: number;
16
+ versionNeeded?: number;
17
+ }
18
+ export declare function buildLocalFileHeader(input: ZipLocalFileHeaderInput): Uint8Array;
19
+ export interface ZipCentralDirectoryHeaderInput {
20
+ fileName: Uint8Array;
21
+ extraField: Uint8Array;
22
+ comment: Uint8Array;
23
+ flags: number;
24
+ compressionMethod: number;
25
+ dosTime: number;
26
+ dosDate: number;
27
+ crc32: number;
28
+ compressedSize: number;
29
+ uncompressedSize: number;
30
+ localHeaderOffset: number;
31
+ versionMadeBy?: number;
32
+ versionNeeded?: number;
33
+ externalAttributes?: number;
34
+ }
35
+ export declare function buildCentralDirectoryHeader(input: ZipCentralDirectoryHeaderInput): Uint8Array;
36
+ export interface ZipEndOfCentralDirectoryInput {
37
+ entryCount: number;
38
+ centralDirSize: number;
39
+ centralDirOffset: number;
40
+ comment: Uint8Array;
41
+ }
42
+ export declare function buildEndOfCentralDirectory(input: ZipEndOfCentralDirectoryInput): Uint8Array;
43
+ export declare function buildDataDescriptor(crc32: number, compressedSize: number, uncompressedSize: number): Uint8Array<ArrayBuffer>;
@@ -0,0 +1,84 @@
1
+ /**
2
+ * ZIP record builders (PKWARE APPNOTE)
3
+ *
4
+ * Shared by streaming zip writer and buffer zip builder.
5
+ */
6
+ import { CENTRAL_DIR_HEADER_SIG, DATA_DESCRIPTOR_SIG, END_OF_CENTRAL_DIR_SIG, LOCAL_FILE_HEADER_SIG, VERSION_MADE_BY, VERSION_NEEDED } from "./zip-constants.js";
7
+ export function buildLocalFileHeader(input) {
8
+ const versionNeeded = input.versionNeeded ?? VERSION_NEEDED;
9
+ const header = new Uint8Array(30 + input.fileName.length + input.extraField.length);
10
+ const view = new DataView(header.buffer);
11
+ view.setUint32(0, LOCAL_FILE_HEADER_SIG, true);
12
+ view.setUint16(4, versionNeeded, true);
13
+ view.setUint16(6, input.flags, true);
14
+ view.setUint16(8, input.compressionMethod, true);
15
+ view.setUint16(10, input.dosTime, true);
16
+ view.setUint16(12, input.dosDate, true);
17
+ view.setUint32(14, input.crc32, true);
18
+ view.setUint32(18, input.compressedSize, true);
19
+ view.setUint32(22, input.uncompressedSize, true);
20
+ view.setUint16(26, input.fileName.length, true);
21
+ view.setUint16(28, input.extraField.length, true);
22
+ header.set(input.fileName, 30);
23
+ if (input.extraField.length > 0) {
24
+ header.set(input.extraField, 30 + input.fileName.length);
25
+ }
26
+ return header;
27
+ }
28
+ export function buildCentralDirectoryHeader(input) {
29
+ const versionMadeBy = input.versionMadeBy ?? VERSION_MADE_BY;
30
+ const versionNeeded = input.versionNeeded ?? VERSION_NEEDED;
31
+ const externalAttributes = input.externalAttributes ?? 0;
32
+ const header = new Uint8Array(46 + input.fileName.length + input.extraField.length + input.comment.length);
33
+ const view = new DataView(header.buffer);
34
+ view.setUint32(0, CENTRAL_DIR_HEADER_SIG, true);
35
+ view.setUint16(4, versionMadeBy, true);
36
+ view.setUint16(6, versionNeeded, true);
37
+ view.setUint16(8, input.flags, true);
38
+ view.setUint16(10, input.compressionMethod, true);
39
+ view.setUint16(12, input.dosTime, true);
40
+ view.setUint16(14, input.dosDate, true);
41
+ view.setUint32(16, input.crc32, true);
42
+ view.setUint32(20, input.compressedSize, true);
43
+ view.setUint32(24, input.uncompressedSize, true);
44
+ view.setUint16(28, input.fileName.length, true);
45
+ view.setUint16(30, input.extraField.length, true);
46
+ view.setUint16(32, input.comment.length, true);
47
+ view.setUint16(34, 0, true); // disk number start
48
+ view.setUint16(36, 0, true); // internal file attributes
49
+ view.setUint32(38, externalAttributes, true);
50
+ view.setUint32(42, input.localHeaderOffset, true);
51
+ header.set(input.fileName, 46);
52
+ if (input.extraField.length > 0) {
53
+ header.set(input.extraField, 46 + input.fileName.length);
54
+ }
55
+ if (input.comment.length > 0) {
56
+ header.set(input.comment, 46 + input.fileName.length + input.extraField.length);
57
+ }
58
+ return header;
59
+ }
60
+ export function buildEndOfCentralDirectory(input) {
61
+ const record = new Uint8Array(22 + input.comment.length);
62
+ const view = new DataView(record.buffer);
63
+ view.setUint32(0, END_OF_CENTRAL_DIR_SIG, true);
64
+ view.setUint16(4, 0, true);
65
+ view.setUint16(6, 0, true);
66
+ view.setUint16(8, input.entryCount, true);
67
+ view.setUint16(10, input.entryCount, true);
68
+ view.setUint32(12, input.centralDirSize, true);
69
+ view.setUint32(16, input.centralDirOffset, true);
70
+ view.setUint16(20, input.comment.length, true);
71
+ if (input.comment.length > 0) {
72
+ record.set(input.comment, 22);
73
+ }
74
+ return record;
75
+ }
76
+ export function buildDataDescriptor(crc32, compressedSize, uncompressedSize) {
77
+ const descriptor = new Uint8Array(16);
78
+ const view = new DataView(descriptor.buffer);
79
+ view.setUint32(0, DATA_DESCRIPTOR_SIG, true);
80
+ view.setUint32(4, crc32, true);
81
+ view.setUint32(8, compressedSize, true);
82
+ view.setUint32(12, uncompressedSize, true);
83
+ return descriptor;
84
+ }
@@ -0,0 +1,215 @@
1
+ /**
2
+ * CSV Parser and Formatter - RFC 4180 compliant
3
+ *
4
+ * A lightweight, cross-platform CSV implementation that works in both
5
+ * Node.js and Browser environments with zero dependencies.
6
+ *
7
+ * High-performance RFC 4180 compliant CSV parser and formatter.
8
+ *
9
+ * @see https://tools.ietf.org/html/rfc4180
10
+ */
11
+ /** Header array type (can include undefined to skip columns) */
12
+ export type HeaderArray = (string | undefined | null)[];
13
+ /** Header transform function */
14
+ export type HeaderTransformFunction = (headers: string[]) => HeaderArray;
15
+ /** Row types */
16
+ export type RowArray = string[];
17
+ export type RowMap = Record<string, string>;
18
+ export type Row = RowArray | RowMap;
19
+ /** Row transform callback */
20
+ export type RowTransformCallback<T> = (error?: Error | null, row?: T | null) => void;
21
+ /** Row transform function - sync or async */
22
+ export type RowTransformFunction<I = Row, O = Row> = ((row: I) => O | null) | ((row: I, callback: RowTransformCallback<O>) => void);
23
+ /** Row validate callback */
24
+ export type RowValidateCallback = (error?: Error | null, isValid?: boolean, reason?: string) => void;
25
+ /** Row validate function - sync or async */
26
+ export type RowValidateFunction<T = Row> = ((row: T) => boolean) | ((row: T, callback: RowValidateCallback) => void);
27
+ /**
28
+ * CSV parsing options
29
+ */
30
+ export interface CsvParseOptions {
31
+ /** Field delimiter (default: ",") */
32
+ delimiter?: string;
33
+ /** Quote character (default: '"'), set to false or null to disable quoting */
34
+ quote?: string | false | null;
35
+ /** Escape character for quotes (default: '"'), set to false or null to disable */
36
+ escape?: string | false | null;
37
+ /** Skip empty lines (default: false) */
38
+ skipEmptyLines?: boolean;
39
+ /** Alias for skipEmptyLines */
40
+ ignoreEmpty?: boolean;
41
+ /** Trim whitespace from both sides of fields (default: false) */
42
+ trim?: boolean;
43
+ /** Left trim whitespace from fields (default: false) */
44
+ ltrim?: boolean;
45
+ /** Right trim whitespace from fields (default: false) */
46
+ rtrim?: boolean;
47
+ /**
48
+ * Header handling:
49
+ * - true: first row is headers, return objects
50
+ * - false: no headers, return arrays
51
+ * - string[]: use these as headers
52
+ * - function: transform first row headers
53
+ */
54
+ headers?: boolean | HeaderArray | HeaderTransformFunction;
55
+ /**
56
+ * If true and headers is string[], discard first row and use provided headers
57
+ */
58
+ renameHeaders?: boolean;
59
+ /** Comment character - lines starting with this are ignored */
60
+ comment?: string;
61
+ /**
62
+ * Decimal separator used when parsing numbers from CSV (default: ".").
63
+ *
64
+ * Note: core CSV parsing returns strings; number conversion is handled by higher-level
65
+ * consumers (e.g. the default value mapper in the CSV module).
66
+ *
67
+ * @deprecated Use CsvReadOptions.valueMapperOptions.decimalSeparator instead.
68
+ */
69
+ decimalSeparator?: "." | ",";
70
+ /** Maximum number of data rows to parse (excluding header) */
71
+ maxRows?: number;
72
+ /** Number of lines to skip at the beginning (before header detection) */
73
+ skipLines?: number;
74
+ /** Number of data rows to skip (after header detection) */
75
+ skipRows?: number;
76
+ /**
77
+ * Strict column handling:
78
+ * - If true, rows with column count mismatch emit 'data-invalid' event
79
+ * - If false (default), throws error on mismatch (unless discardUnmappedColumns)
80
+ */
81
+ strictColumnHandling?: boolean;
82
+ /**
83
+ * If true, discard columns that exceed header count
84
+ * Only valid when headers are specified
85
+ */
86
+ discardUnmappedColumns?: boolean;
87
+ /**
88
+ * Enable object mode (default: true for Node.js streams)
89
+ * - true: push row objects/arrays
90
+ * - false: push JSON strings
91
+ */
92
+ objectMode?: boolean;
93
+ /**
94
+ * Character encoding for input (default: "utf8")
95
+ * Only used in Node.js streaming context
96
+ */
97
+ encoding?: BufferEncoding;
98
+ /**
99
+ * Synchronous transform function to apply to each row after parsing
100
+ * Return null/undefined to skip the row
101
+ * Works in both Node.js and Browser environments
102
+ *
103
+ * @example
104
+ * // With headers (row is Record<string, string>)
105
+ * transform: (row) => ({ ...row, name: row.name.toUpperCase() })
106
+ *
107
+ * // Without headers (row is string[])
108
+ * transform: (row) => [row[0].toUpperCase(), row[1]]
109
+ */
110
+ transform?: (row: Row) => Row | null | undefined;
111
+ /**
112
+ * Synchronous validate function to check each row
113
+ * Return false to mark row as invalid (will be in invalidRows)
114
+ * Can also return { isValid: boolean, reason?: string }
115
+ * Works in both Node.js and Browser environments
116
+ *
117
+ * @example
118
+ * // With headers
119
+ * validate: (row) => row.name !== ''
120
+ *
121
+ * // With custom reason
122
+ * validate: (row) => ({ isValid: row.age >= 18, reason: 'Must be adult' })
123
+ */
124
+ validate?: (row: Row) => boolean | {
125
+ isValid: boolean;
126
+ reason?: string;
127
+ };
128
+ }
129
+ /**
130
+ * CSV formatting options
131
+ */
132
+ export interface CsvFormatOptions {
133
+ /** Field delimiter (default: ",") */
134
+ delimiter?: string;
135
+ /** Quote character (default: '"'), set to false or null to disable quoting */
136
+ quote?: string | false | null;
137
+ /** Escape character (default: same as quote) */
138
+ escape?: string | false | null;
139
+ /** Row delimiter (default: "\n") */
140
+ rowDelimiter?: string;
141
+ /**
142
+ * Decimal separator used when formatting numbers to CSV (default: ".").
143
+ * For European-style CSV, this is commonly "," (often together with delimiter ";").
144
+ */
145
+ decimalSeparator?: "." | ",";
146
+ /** Always quote all fields (default: false, only quote when necessary) */
147
+ alwaysQuote?: boolean;
148
+ /** Quote specific columns by name or index */
149
+ quoteColumns?: boolean | boolean[] | Record<string, boolean>;
150
+ /** Quote header fields */
151
+ quoteHeaders?: boolean | boolean[] | Record<string, boolean>;
152
+ /**
153
+ * Header handling:
154
+ * - true: auto-detect headers from first object
155
+ * - false/null: no headers
156
+ * - string[]: use these as headers
157
+ */
158
+ headers?: string[] | boolean | null;
159
+ /**
160
+ * Whether to write headers (default: true when headers is provided)
161
+ * Set to false to suppress header row output
162
+ */
163
+ writeHeaders?: boolean;
164
+ /** Include BOM for UTF-8 (default: false) */
165
+ writeBOM?: boolean;
166
+ /** Include final row delimiter (default: true) */
167
+ includeEndRowDelimiter?: boolean;
168
+ /** Write headers even when there's no data (default: false) */
169
+ alwaysWriteHeaders?: boolean;
170
+ /**
171
+ * Transform function to apply to each row before formatting
172
+ * Can be sync (returns row) or async (calls callback)
173
+ */
174
+ transform?: RowTransformFunction<Row, Row>;
175
+ /**
176
+ * Enable object mode (default: true for Node.js streams)
177
+ * - true: accept row objects/arrays directly
178
+ * - false: accept JSON strings
179
+ */
180
+ objectMode?: boolean;
181
+ }
182
+ /**
183
+ * Parsed CSV result with headers
184
+ */
185
+ export interface CsvParseResult<T = string[]> {
186
+ /** Header row (if headers option was true) */
187
+ headers?: string[];
188
+ /** Data rows */
189
+ rows: T[];
190
+ /** Invalid rows (when strictColumnHandling is true) */
191
+ invalidRows?: {
192
+ row: string[];
193
+ reason: string;
194
+ }[];
195
+ }
196
+ /**
197
+ * Check if a transform function is synchronous (1 argument) vs async (2 arguments)
198
+ */
199
+ export declare function isSyncTransform<I, O>(transform: RowTransformFunction<I, O>): transform is (row: I) => O | null;
200
+ /**
201
+ * Check if a validate function is synchronous (1 argument) vs async (2 arguments)
202
+ */
203
+ export declare function isSyncValidate<T>(validate: RowValidateFunction<T>): validate is (row: T) => boolean;
204
+ /**
205
+ * Parse a CSV string into rows of fields
206
+ */
207
+ export declare function parseCsv(input: string, options?: CsvParseOptions): string[][] | CsvParseResult<Record<string, string>>;
208
+ /**
209
+ * Format data as a CSV string
210
+ */
211
+ export declare function formatCsv(data: (string | number | boolean | null | undefined)[][] | Record<string, any>[], options?: CsvFormatOptions): string;
212
+ /**
213
+ * Async CSV parser that yields rows one at a time
214
+ */
215
+ export declare function parseCsvStream(input: string | AsyncIterable<string>, options?: CsvParseOptions): AsyncGenerator<string[] | Record<string, string>, void, unknown>;