@cj-tech-master/excelts 4.2.1 → 4.2.2-canary.20260115044841.88820eb

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 (331) hide show
  1. package/THIRD_PARTY_NOTICES.md +0 -31
  2. package/dist/browser/index.browser.d.ts +1 -0
  3. package/dist/browser/index.browser.js +12 -0
  4. package/dist/{esm/modules/archive → browser/modules/archive/compression}/compress.base.js +1 -1
  5. package/dist/{types/modules/archive → browser/modules/archive/compression}/compress.browser.d.ts +2 -8
  6. package/dist/browser/modules/archive/{compress.browser.js → compression/compress.browser.js} +3 -11
  7. package/dist/browser/modules/archive/{compress.d.ts → compression/compress.d.ts} +2 -2
  8. package/dist/{esm/modules/archive → browser/modules/archive/compression}/compress.js +1 -1
  9. package/dist/browser/modules/archive/{crc32.browser.d.ts → compression/crc32.browser.d.ts} +1 -1
  10. package/dist/browser/modules/archive/{crc32.d.ts → compression/crc32.d.ts} +1 -1
  11. package/dist/browser/modules/archive/{crc32.js → compression/crc32.js} +1 -1
  12. package/dist/browser/modules/archive/{deflate-fallback.js → compression/deflate-fallback.js} +1 -1
  13. package/dist/browser/modules/archive/{streaming-compress.browser.d.ts → compression/streaming-compress.browser.d.ts} +2 -2
  14. package/dist/browser/modules/archive/{streaming-compress.browser.js → compression/streaming-compress.browser.js} +3 -3
  15. package/dist/browser/modules/archive/{streaming-compress.d.ts → compression/streaming-compress.d.ts} +2 -2
  16. package/dist/browser/modules/archive/{streaming-compress.js → compression/streaming-compress.js} +2 -2
  17. package/dist/browser/modules/archive/defaults.d.ts +1 -0
  18. package/dist/browser/modules/archive/defaults.js +6 -3
  19. package/dist/browser/modules/archive/index.base.d.ts +4 -4
  20. package/dist/browser/modules/archive/index.base.js +3 -6
  21. package/dist/browser/modules/archive/index.browser.d.ts +3 -4
  22. package/dist/browser/modules/archive/index.browser.js +3 -7
  23. package/dist/browser/modules/archive/index.d.ts +3 -4
  24. package/dist/browser/modules/archive/index.js +3 -5
  25. package/dist/browser/modules/archive/internal/byte-queue.d.ts +33 -0
  26. package/dist/browser/modules/archive/internal/byte-queue.js +407 -0
  27. package/dist/browser/modules/archive/io/archive-sink.d.ts +8 -0
  28. package/dist/browser/modules/archive/io/archive-sink.js +45 -0
  29. package/dist/browser/modules/archive/io/archive-source.d.ts +6 -0
  30. package/dist/browser/modules/archive/io/archive-source.js +100 -0
  31. package/dist/browser/modules/archive/{extract.d.ts → unzip/extract.d.ts} +2 -2
  32. package/dist/browser/modules/archive/unzip/index.d.ts +40 -0
  33. package/dist/browser/modules/archive/unzip/index.js +164 -0
  34. package/dist/browser/modules/archive/{parse.base.d.ts → unzip/stream.base.d.ts} +36 -2
  35. package/dist/browser/modules/archive/unzip/stream.base.js +1022 -0
  36. package/dist/browser/modules/archive/{parse.browser.d.ts → unzip/stream.browser.d.ts} +1 -1
  37. package/dist/browser/modules/archive/{parse.browser.js → unzip/stream.browser.js} +371 -110
  38. package/dist/browser/modules/archive/{parse.d.ts → unzip/stream.d.ts} +2 -2
  39. package/dist/{esm/modules/archive/parse.js → browser/modules/archive/unzip/stream.js} +6 -5
  40. package/dist/browser/modules/archive/{zip-parser.d.ts → unzip/zip-parser.d.ts} +1 -1
  41. package/dist/{esm/modules/archive → browser/modules/archive/unzip}/zip-parser.js +38 -24
  42. package/dist/browser/modules/archive/utils/async-queue.d.ts +7 -0
  43. package/dist/browser/modules/archive/utils/async-queue.js +103 -0
  44. package/dist/browser/modules/archive/utils/bytes.js +16 -16
  45. package/dist/browser/modules/archive/utils/compressibility.d.ts +10 -0
  46. package/dist/browser/modules/archive/utils/compressibility.js +57 -0
  47. package/dist/browser/modules/archive/utils/parse-buffer.js +21 -23
  48. package/dist/browser/modules/archive/utils/pattern-scanner.d.ts +21 -0
  49. package/dist/browser/modules/archive/utils/pattern-scanner.js +27 -0
  50. package/dist/browser/modules/archive/utils/timestamps.js +62 -1
  51. package/dist/browser/modules/archive/utils/zip-extra-fields.d.ts +1 -1
  52. package/dist/browser/modules/archive/utils/zip-extra-fields.js +26 -14
  53. package/dist/browser/modules/archive/zip/index.d.ts +42 -0
  54. package/dist/browser/modules/archive/zip/index.js +157 -0
  55. package/dist/browser/modules/archive/{streaming-zip.d.ts → zip/stream.d.ts} +28 -5
  56. package/dist/browser/modules/archive/{streaming-zip.js → zip/stream.js} +192 -48
  57. package/dist/browser/modules/archive/zip/zip-bytes.d.ts +73 -0
  58. package/dist/browser/modules/archive/zip/zip-bytes.js +239 -0
  59. package/dist/{esm/modules/archive → browser/modules/archive/zip}/zip-entry-metadata.js +3 -3
  60. package/dist/browser/modules/archive/{zip-records.d.ts → zip-spec/zip-records.d.ts} +20 -0
  61. package/dist/browser/modules/archive/zip-spec/zip-records.js +126 -0
  62. package/dist/browser/modules/excel/stream/workbook-reader.browser.js +1 -1
  63. package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +1 -1
  64. package/dist/browser/modules/excel/stream/workbook-writer.browser.js +1 -1
  65. package/dist/browser/modules/excel/utils/ooxml-validator.d.ts +48 -0
  66. package/dist/browser/modules/excel/utils/ooxml-validator.js +469 -0
  67. package/dist/browser/modules/excel/utils/parse-sax.d.ts +3 -0
  68. package/dist/browser/modules/excel/utils/parse-sax.js +32 -13
  69. package/dist/browser/modules/excel/worksheet.js +5 -2
  70. package/dist/browser/modules/excel/xlsx/xform/core/app-xform.js +3 -3
  71. package/dist/browser/modules/excel/xlsx/xform/core/core-xform.js +56 -68
  72. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -0
  73. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  74. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-xform.d.ts +18 -0
  75. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-xform.js +112 -0
  76. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +6 -1
  77. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  78. package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  79. package/dist/browser/modules/excel/xlsx/xform/list-xform.js +8 -10
  80. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -0
  81. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  82. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  83. package/dist/browser/modules/excel/xlsx/xform/strings/shared-string-xform.js +2 -3
  84. package/dist/browser/modules/excel/xlsx/xform/strings/text-xform.js +5 -7
  85. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +11 -10
  86. package/dist/browser/modules/excel/xlsx/xlsx.js +1 -1
  87. package/dist/browser/modules/stream/base-transform.d.ts +3 -0
  88. package/dist/browser/modules/stream/base-transform.js +34 -20
  89. package/dist/browser/modules/stream/buffered-stream.d.ts +2 -12
  90. package/dist/browser/modules/stream/chunked-builder.js +4 -4
  91. package/dist/browser/modules/stream/index.browser.d.ts +13 -19
  92. package/dist/browser/modules/stream/index.browser.js +10 -22
  93. package/dist/browser/modules/stream/index.d.ts +18 -41
  94. package/dist/browser/modules/stream/index.js +15 -44
  95. package/dist/browser/modules/stream/internal/event-utils.d.ts +17 -0
  96. package/dist/browser/modules/stream/internal/event-utils.js +40 -0
  97. package/dist/browser/modules/stream/internal/type-guards.d.ts +9 -0
  98. package/dist/browser/modules/stream/internal/type-guards.js +24 -0
  99. package/dist/browser/modules/stream/pull-stream.d.ts +5 -6
  100. package/dist/browser/modules/stream/pull-stream.js +107 -43
  101. package/dist/browser/modules/stream/shared.d.ts +1 -1
  102. package/dist/browser/modules/stream/shared.js +7 -4
  103. package/dist/browser/modules/stream/streams.browser.d.ts +32 -44
  104. package/dist/browser/modules/stream/streams.browser.js +921 -836
  105. package/dist/browser/modules/stream/streams.d.ts +4 -20
  106. package/dist/browser/modules/stream/streams.js +146 -95
  107. package/dist/browser/modules/stream/utils.js +5 -38
  108. package/dist/cjs/modules/archive/{compress.base.js → compression/compress.base.js} +1 -1
  109. package/dist/cjs/modules/archive/{compress.browser.js → compression/compress.browser.js} +3 -11
  110. package/dist/cjs/modules/archive/{compress.js → compression/compress.js} +1 -1
  111. package/dist/cjs/modules/archive/{crc32.js → compression/crc32.js} +1 -1
  112. package/dist/cjs/modules/archive/{deflate-fallback.js → compression/deflate-fallback.js} +1 -1
  113. package/dist/cjs/modules/archive/{streaming-compress.browser.js → compression/streaming-compress.browser.js} +3 -3
  114. package/dist/cjs/modules/archive/{streaming-compress.js → compression/streaming-compress.js} +2 -2
  115. package/dist/cjs/modules/archive/defaults.js +7 -4
  116. package/dist/cjs/modules/archive/index.base.js +9 -19
  117. package/dist/cjs/modules/archive/index.browser.js +4 -10
  118. package/dist/cjs/modules/archive/index.js +4 -8
  119. package/dist/cjs/modules/archive/internal/byte-queue.js +411 -0
  120. package/dist/cjs/modules/archive/io/archive-sink.js +49 -0
  121. package/dist/cjs/modules/archive/io/archive-source.js +105 -0
  122. package/dist/cjs/modules/archive/unzip/index.js +170 -0
  123. package/dist/cjs/modules/archive/unzip/stream.base.js +1044 -0
  124. package/dist/cjs/modules/archive/{parse.browser.js → unzip/stream.browser.js} +372 -111
  125. package/dist/cjs/modules/archive/{parse.js → unzip/stream.js} +9 -8
  126. package/dist/cjs/modules/archive/{zip-parser.js → unzip/zip-parser.js} +47 -33
  127. package/dist/cjs/modules/archive/utils/async-queue.js +106 -0
  128. package/dist/cjs/modules/archive/utils/bytes.js +16 -16
  129. package/dist/cjs/modules/archive/utils/compressibility.js +60 -0
  130. package/dist/cjs/modules/archive/utils/parse-buffer.js +21 -23
  131. package/dist/cjs/modules/archive/utils/pattern-scanner.js +31 -0
  132. package/dist/cjs/modules/archive/utils/timestamps.js +64 -3
  133. package/dist/cjs/modules/archive/utils/zip-extra-fields.js +26 -14
  134. package/dist/cjs/modules/archive/zip/index.js +162 -0
  135. package/dist/cjs/modules/archive/{streaming-zip.js → zip/stream.js} +194 -50
  136. package/dist/cjs/modules/archive/zip/zip-bytes.js +242 -0
  137. package/dist/cjs/modules/archive/{zip-entry-metadata.js → zip/zip-entry-metadata.js} +5 -5
  138. package/dist/cjs/modules/archive/zip-spec/zip-records.js +136 -0
  139. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +2 -2
  140. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +4 -4
  141. package/dist/cjs/modules/excel/utils/ooxml-validator.js +475 -0
  142. package/dist/cjs/modules/excel/utils/parse-sax.js +32 -13
  143. package/dist/cjs/modules/excel/worksheet.js +5 -2
  144. package/dist/cjs/modules/excel/xlsx/xform/core/app-xform.js +3 -3
  145. package/dist/cjs/modules/excel/xlsx/xform/core/core-xform.js +56 -68
  146. package/dist/cjs/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  147. package/dist/cjs/modules/excel/xlsx/xform/drawing/sp-xform.js +115 -0
  148. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  149. package/dist/cjs/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  150. package/dist/cjs/modules/excel/xlsx/xform/list-xform.js +8 -10
  151. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  152. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  153. package/dist/cjs/modules/excel/xlsx/xform/strings/shared-string-xform.js +2 -3
  154. package/dist/cjs/modules/excel/xlsx/xform/strings/text-xform.js +5 -7
  155. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +14 -13
  156. package/dist/cjs/modules/excel/xlsx/xlsx.js +2 -2
  157. package/dist/cjs/modules/stream/base-transform.js +34 -20
  158. package/dist/cjs/modules/stream/chunked-builder.js +4 -4
  159. package/dist/cjs/modules/stream/index.browser.js +10 -17
  160. package/dist/cjs/modules/stream/index.js +15 -39
  161. package/dist/cjs/modules/stream/internal/event-utils.js +43 -0
  162. package/dist/cjs/modules/stream/internal/type-guards.js +30 -0
  163. package/dist/cjs/modules/stream/pull-stream.js +107 -43
  164. package/dist/cjs/modules/stream/shared.js +7 -4
  165. package/dist/cjs/modules/stream/streams.browser.js +927 -847
  166. package/dist/cjs/modules/stream/streams.js +156 -107
  167. package/dist/cjs/modules/stream/utils.js +3 -36
  168. package/dist/esm/index.browser.js +12 -0
  169. package/dist/{browser/modules/archive → esm/modules/archive/compression}/compress.base.js +1 -1
  170. package/dist/esm/modules/archive/{compress.browser.js → compression/compress.browser.js} +3 -11
  171. package/dist/{browser/modules/archive → esm/modules/archive/compression}/compress.js +1 -1
  172. package/dist/esm/modules/archive/{crc32.js → compression/crc32.js} +1 -1
  173. package/dist/esm/modules/archive/{deflate-fallback.js → compression/deflate-fallback.js} +1 -1
  174. package/dist/esm/modules/archive/{streaming-compress.browser.js → compression/streaming-compress.browser.js} +3 -3
  175. package/dist/esm/modules/archive/{streaming-compress.js → compression/streaming-compress.js} +2 -2
  176. package/dist/esm/modules/archive/defaults.js +6 -3
  177. package/dist/esm/modules/archive/index.base.js +3 -6
  178. package/dist/esm/modules/archive/index.browser.js +3 -7
  179. package/dist/esm/modules/archive/index.js +3 -5
  180. package/dist/esm/modules/archive/internal/byte-queue.js +407 -0
  181. package/dist/esm/modules/archive/io/archive-sink.js +45 -0
  182. package/dist/esm/modules/archive/io/archive-source.js +100 -0
  183. package/dist/esm/modules/archive/unzip/index.js +164 -0
  184. package/dist/esm/modules/archive/unzip/stream.base.js +1022 -0
  185. package/dist/esm/modules/archive/{parse.browser.js → unzip/stream.browser.js} +371 -110
  186. package/dist/{browser/modules/archive/parse.js → esm/modules/archive/unzip/stream.js} +6 -5
  187. package/dist/{browser/modules/archive → esm/modules/archive/unzip}/zip-parser.js +38 -24
  188. package/dist/esm/modules/archive/utils/async-queue.js +103 -0
  189. package/dist/esm/modules/archive/utils/bytes.js +16 -16
  190. package/dist/esm/modules/archive/utils/compressibility.js +57 -0
  191. package/dist/esm/modules/archive/utils/parse-buffer.js +21 -23
  192. package/dist/esm/modules/archive/utils/pattern-scanner.js +27 -0
  193. package/dist/esm/modules/archive/utils/timestamps.js +62 -1
  194. package/dist/esm/modules/archive/utils/zip-extra-fields.js +26 -14
  195. package/dist/esm/modules/archive/zip/index.js +157 -0
  196. package/dist/esm/modules/archive/{streaming-zip.js → zip/stream.js} +192 -48
  197. package/dist/esm/modules/archive/zip/zip-bytes.js +239 -0
  198. package/dist/{browser/modules/archive → esm/modules/archive/zip}/zip-entry-metadata.js +3 -3
  199. package/dist/esm/modules/archive/zip-spec/zip-records.js +126 -0
  200. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +1 -1
  201. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +1 -1
  202. package/dist/esm/modules/excel/utils/ooxml-validator.js +469 -0
  203. package/dist/esm/modules/excel/utils/parse-sax.js +32 -13
  204. package/dist/esm/modules/excel/worksheet.js +5 -2
  205. package/dist/esm/modules/excel/xlsx/xform/core/app-xform.js +3 -3
  206. package/dist/esm/modules/excel/xlsx/xform/core/core-xform.js +56 -68
  207. package/dist/esm/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  208. package/dist/esm/modules/excel/xlsx/xform/drawing/sp-xform.js +112 -0
  209. package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  210. package/dist/esm/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  211. package/dist/esm/modules/excel/xlsx/xform/list-xform.js +8 -10
  212. package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  213. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  214. package/dist/esm/modules/excel/xlsx/xform/strings/shared-string-xform.js +2 -3
  215. package/dist/esm/modules/excel/xlsx/xform/strings/text-xform.js +5 -7
  216. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +11 -10
  217. package/dist/esm/modules/excel/xlsx/xlsx.js +1 -1
  218. package/dist/esm/modules/stream/base-transform.js +34 -20
  219. package/dist/esm/modules/stream/chunked-builder.js +4 -4
  220. package/dist/esm/modules/stream/index.browser.js +10 -22
  221. package/dist/esm/modules/stream/index.js +15 -44
  222. package/dist/esm/modules/stream/internal/event-utils.js +40 -0
  223. package/dist/esm/modules/stream/internal/type-guards.js +24 -0
  224. package/dist/esm/modules/stream/pull-stream.js +107 -43
  225. package/dist/esm/modules/stream/shared.js +7 -4
  226. package/dist/esm/modules/stream/streams.browser.js +921 -836
  227. package/dist/esm/modules/stream/streams.js +146 -95
  228. package/dist/esm/modules/stream/utils.js +5 -38
  229. package/dist/iife/THIRD_PARTY_NOTICES.md +0 -31
  230. package/dist/iife/excelts.iife.js +6592 -4537
  231. package/dist/iife/excelts.iife.js.map +1 -1
  232. package/dist/iife/excelts.iife.min.js +103 -31
  233. package/dist/types/index.browser.d.ts +1 -0
  234. package/dist/{browser/modules/archive → types/modules/archive/compression}/compress.browser.d.ts +2 -8
  235. package/dist/types/modules/archive/{streaming-compress.browser.d.ts → compression/streaming-compress.browser.d.ts} +1 -1
  236. package/dist/types/modules/archive/defaults.d.ts +1 -0
  237. package/dist/types/modules/archive/index.base.d.ts +4 -4
  238. package/dist/types/modules/archive/index.browser.d.ts +3 -4
  239. package/dist/types/modules/archive/index.d.ts +3 -4
  240. package/dist/types/modules/archive/internal/byte-queue.d.ts +33 -0
  241. package/dist/types/modules/archive/io/archive-sink.d.ts +8 -0
  242. package/dist/types/modules/archive/io/archive-source.d.ts +6 -0
  243. package/dist/types/modules/archive/unzip/index.d.ts +40 -0
  244. package/dist/types/modules/archive/{parse.base.d.ts → unzip/stream.base.d.ts} +38 -4
  245. package/dist/types/modules/archive/{parse.browser.d.ts → unzip/stream.browser.d.ts} +2 -2
  246. package/dist/types/modules/archive/{parse.d.ts → unzip/stream.d.ts} +3 -3
  247. package/dist/types/modules/archive/{zip-parser.d.ts → unzip/zip-parser.d.ts} +1 -1
  248. package/dist/types/modules/archive/utils/async-queue.d.ts +7 -0
  249. package/dist/types/modules/archive/utils/compressibility.d.ts +10 -0
  250. package/dist/types/modules/archive/utils/pattern-scanner.d.ts +21 -0
  251. package/dist/types/modules/archive/utils/zip-extra-fields.d.ts +1 -1
  252. package/dist/types/modules/archive/zip/index.d.ts +42 -0
  253. package/dist/types/modules/archive/{streaming-zip.d.ts → zip/stream.d.ts} +29 -6
  254. package/dist/types/modules/archive/zip/zip-bytes.d.ts +73 -0
  255. package/dist/types/modules/archive/{zip-entry-metadata.d.ts → zip/zip-entry-metadata.d.ts} +1 -1
  256. package/dist/types/modules/archive/{zip-records.d.ts → zip-spec/zip-records.d.ts} +20 -0
  257. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +1 -1
  258. package/dist/types/modules/excel/utils/ooxml-validator.d.ts +48 -0
  259. package/dist/types/modules/excel/utils/parse-sax.d.ts +3 -0
  260. package/dist/types/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -0
  261. package/dist/types/modules/excel/xlsx/xform/drawing/sp-xform.d.ts +18 -0
  262. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +6 -1
  263. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -0
  264. package/dist/types/modules/stream/base-transform.d.ts +3 -0
  265. package/dist/types/modules/stream/buffered-stream.d.ts +2 -12
  266. package/dist/types/modules/stream/index.browser.d.ts +13 -19
  267. package/dist/types/modules/stream/index.d.ts +18 -41
  268. package/dist/types/modules/stream/internal/event-utils.d.ts +17 -0
  269. package/dist/types/modules/stream/internal/type-guards.d.ts +9 -0
  270. package/dist/types/modules/stream/pull-stream.d.ts +5 -6
  271. package/dist/types/modules/stream/shared.d.ts +1 -1
  272. package/dist/types/modules/stream/streams.browser.d.ts +32 -44
  273. package/dist/types/modules/stream/streams.d.ts +4 -20
  274. package/package.json +14 -10
  275. package/dist/browser/modules/archive/byte-queue.d.ts +0 -18
  276. package/dist/browser/modules/archive/byte-queue.js +0 -125
  277. package/dist/browser/modules/archive/parse.base.js +0 -644
  278. package/dist/browser/modules/archive/utils/zip-extra.d.ts +0 -18
  279. package/dist/browser/modules/archive/utils/zip-extra.js +0 -68
  280. package/dist/browser/modules/archive/zip-builder.d.ts +0 -117
  281. package/dist/browser/modules/archive/zip-builder.js +0 -292
  282. package/dist/browser/modules/archive/zip-constants.d.ts +0 -18
  283. package/dist/browser/modules/archive/zip-constants.js +0 -23
  284. package/dist/browser/modules/archive/zip-records.js +0 -84
  285. package/dist/cjs/modules/archive/byte-queue.js +0 -129
  286. package/dist/cjs/modules/archive/parse.base.js +0 -666
  287. package/dist/cjs/modules/archive/utils/zip-extra.js +0 -74
  288. package/dist/cjs/modules/archive/zip-builder.js +0 -297
  289. package/dist/cjs/modules/archive/zip-constants.js +0 -26
  290. package/dist/cjs/modules/archive/zip-records.js +0 -90
  291. package/dist/esm/modules/archive/byte-queue.js +0 -125
  292. package/dist/esm/modules/archive/parse.base.js +0 -644
  293. package/dist/esm/modules/archive/utils/zip-extra.js +0 -68
  294. package/dist/esm/modules/archive/zip-builder.js +0 -292
  295. package/dist/esm/modules/archive/zip-constants.js +0 -23
  296. package/dist/esm/modules/archive/zip-records.js +0 -84
  297. package/dist/types/modules/archive/byte-queue.d.ts +0 -18
  298. package/dist/types/modules/archive/utils/zip-extra.d.ts +0 -18
  299. package/dist/types/modules/archive/zip-builder.d.ts +0 -117
  300. package/dist/types/modules/archive/zip-constants.d.ts +0 -18
  301. /package/dist/browser/modules/archive/{compress.base.d.ts → compression/compress.base.d.ts} +0 -0
  302. /package/dist/browser/modules/archive/{crc32.base.d.ts → compression/crc32.base.d.ts} +0 -0
  303. /package/dist/browser/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  304. /package/dist/browser/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  305. /package/dist/browser/modules/archive/{deflate-fallback.d.ts → compression/deflate-fallback.d.ts} +0 -0
  306. /package/dist/browser/modules/archive/{streaming-compress.base.d.ts → compression/streaming-compress.base.d.ts} +0 -0
  307. /package/dist/browser/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  308. /package/dist/browser/modules/archive/{extract.js → unzip/extract.js} +0 -0
  309. /package/dist/browser/modules/archive/{zip-entry-metadata.d.ts → zip/zip-entry-metadata.d.ts} +0 -0
  310. /package/dist/browser/modules/archive/{zip-entry-info.d.ts → zip-spec/zip-entry-info.d.ts} +0 -0
  311. /package/dist/browser/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  312. /package/dist/cjs/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  313. /package/dist/cjs/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  314. /package/dist/cjs/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  315. /package/dist/cjs/modules/archive/{extract.js → unzip/extract.js} +0 -0
  316. /package/dist/cjs/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  317. /package/dist/esm/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  318. /package/dist/esm/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  319. /package/dist/esm/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  320. /package/dist/esm/modules/archive/{extract.js → unzip/extract.js} +0 -0
  321. /package/dist/esm/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  322. /package/dist/types/modules/archive/{compress.base.d.ts → compression/compress.base.d.ts} +0 -0
  323. /package/dist/types/modules/archive/{compress.d.ts → compression/compress.d.ts} +0 -0
  324. /package/dist/types/modules/archive/{crc32.base.d.ts → compression/crc32.base.d.ts} +0 -0
  325. /package/dist/types/modules/archive/{crc32.browser.d.ts → compression/crc32.browser.d.ts} +0 -0
  326. /package/dist/types/modules/archive/{crc32.d.ts → compression/crc32.d.ts} +0 -0
  327. /package/dist/types/modules/archive/{deflate-fallback.d.ts → compression/deflate-fallback.d.ts} +0 -0
  328. /package/dist/types/modules/archive/{streaming-compress.base.d.ts → compression/streaming-compress.base.d.ts} +0 -0
  329. /package/dist/types/modules/archive/{streaming-compress.d.ts → compression/streaming-compress.d.ts} +0 -0
  330. /package/dist/types/modules/archive/{extract.d.ts → unzip/extract.d.ts} +0 -0
  331. /package/dist/types/modules/archive/{zip-entry-info.d.ts → zip-spec/zip-entry-info.d.ts} +0 -0
@@ -54,6 +54,7 @@ export declare class SaxesParser {
54
54
  private positionAtNewLine;
55
55
  private chunkPosition;
56
56
  ENTITIES: Record<string, string>;
57
+ private nsPrefix;
57
58
  private textHandler?;
58
59
  private openTagHandler?;
59
60
  private closeTagHandler?;
@@ -62,6 +63,7 @@ export declare class SaxesParser {
62
63
  get closed(): boolean;
63
64
  get position(): number;
64
65
  private _init;
66
+ private stripNsPrefix;
65
67
  on(name: "text", handler: TextHandler): void;
66
68
  on(name: "opentag", handler: OpenTagHandler): void;
67
69
  on(name: "closetag", handler: CloseTagHandler): void;
@@ -106,6 +108,7 @@ export declare class SaxesParser {
106
108
  private skipSpaces;
107
109
  private openTag;
108
110
  private openSelfClosingTag;
111
+ private processAttributes;
109
112
  private closeTag;
110
113
  private end;
111
114
  }
@@ -8,6 +8,7 @@ import type { FormCheckboxModel } from "../../../form-control.js";
8
8
  */
9
9
  declare class CtrlPropXform extends BaseXform {
10
10
  model: FormCheckboxModel;
11
+ private _checkedToXmlValue;
11
12
  get tag(): string;
12
13
  render(xmlStream: any, model?: FormCheckboxModel): void;
13
14
  /**
@@ -0,0 +1,18 @@
1
+ import { BaseXform } from "../base-xform.js";
2
+ export interface ShapeModel {
3
+ /** Drawing object id (must be unique within drawing part) */
4
+ cNvPrId: number;
5
+ /** Display name (e.g. "Check Box 1") */
6
+ name: string;
7
+ /** VML spid compat value (e.g. "_x0000_s1025") */
8
+ spid: string;
9
+ /** Text shown in the shape text box */
10
+ text: string;
11
+ /** Whether the shape should be hidden */
12
+ hidden?: boolean;
13
+ }
14
+ declare class SpXform extends BaseXform {
15
+ get tag(): string;
16
+ render(xmlStream: any, model?: ShapeModel): void;
17
+ }
18
+ export { SpXform };
@@ -5,7 +5,12 @@ interface TwoCellModel {
5
5
  tl: any;
6
6
  br: any;
7
7
  };
8
- picture: any;
8
+ picture?: any;
9
+ shape?: any;
10
+ /** Wrap the anchor in mc:AlternateContent for modern drawing clients */
11
+ alternateContent?: {
12
+ requires: string;
13
+ };
9
14
  }
10
15
  declare class TwoCellAnchorXform extends BaseCellAnchorXform {
11
16
  constructor();
@@ -19,6 +19,7 @@ interface PageSetupModel {
19
19
  }
20
20
  declare class PageSetupXform extends BaseXform {
21
21
  get tag(): string;
22
+ private _dpiToXml;
22
23
  render(xmlStream: any, model: PageSetupModel): void;
23
24
  parseOpen(node: any): boolean;
24
25
  parseText(): void;
@@ -24,6 +24,8 @@ export declare abstract class BaseTransform<TInput = Uint8Array, TOutput = Uint8
24
24
  protected _errorEmitted: boolean;
25
25
  protected _objectMode: boolean;
26
26
  protected _highWaterMark: number;
27
+ private _ending;
28
+ private _flushInProgress;
27
29
  constructor(options?: BaseTransformOptions);
28
30
  /**
29
31
  * Main transform implementation - must be overridden by subclasses
@@ -49,6 +51,7 @@ export declare abstract class BaseTransform<TInput = Uint8Array, TOutput = Uint8
49
51
  * Process next chunk in buffer
50
52
  */
51
53
  private _processNext;
54
+ private _maybeFlush;
52
55
  /**
53
56
  * Emit error only once
54
57
  */
@@ -5,14 +5,8 @@
5
5
  * Works identically in both browser and Node.js environments.
6
6
  */
7
7
  import { EventEmitter } from "./event-emitter.js";
8
- /**
9
- * Represents a chunk of data with copy capabilities
10
- */
11
- export interface DataChunk {
12
- readonly length: number;
13
- copy(target: Uint8Array, targetOffset: number, offset: number, length: number): number;
14
- toUint8Array(): Uint8Array;
15
- }
8
+ import type { BufferedStreamOptions, DataChunk } from "./types.js";
9
+ export type { BufferedStreamOptions, DataChunk } from "./types.js";
16
10
  /**
17
11
  * String chunk implementation
18
12
  */
@@ -34,10 +28,6 @@ export declare class BufferChunk implements DataChunk {
34
28
  copy(target: Uint8Array, targetOffset: number, offset: number, length: number): number;
35
29
  toUint8Array(): Uint8Array;
36
30
  }
37
- export interface BufferedStreamOptions {
38
- /** Batch size for internal read-write buffers */
39
- batchSize?: number;
40
- }
41
31
  /**
42
32
  * Browser-compatible Buffered Stream with efficient chunk management
43
33
  */
@@ -1,22 +1,16 @@
1
1
  /**
2
- * Stream Module (browser type surface)
2
+ * Stream Module (browser entry)
3
3
  *
4
- * Mirrors [src/modules/stream/index.ts] but explicitly re-exports from
5
- * ./streams.browser so we can enforce index export-surface parity.
4
+ * Mirrors the public surface of `./index.ts`, but exports the browser
5
+ * implementation from `./streams.browser`.
6
+ *
7
+ * This file is intentionally export-only (tree-shaking friendly).
6
8
  */
7
- import type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions } from "./types.js";
8
- export type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions };
9
- import { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, normalizeWritable as Writeable, consumers, promises } from "./streams.browser.js";
10
- import type { PipelineOptions, FinishedOptions } from "./streams.browser.js";
11
- export { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, Writeable, consumers, promises };
12
- export type { PipelineOptions, FinishedOptions };
13
- import { EventEmitter } from "./event-emitter.js";
14
- export { EventEmitter };
15
- import { ChunkedBuilder, TransactionalChunkedBuilder } from "./chunked-builder.js";
16
- import type { ChunkedBuilderOptions, BuilderSnapshot } from "./chunked-builder.js";
17
- export { ChunkedBuilder, TransactionalChunkedBuilder };
18
- export type { ChunkedBuilderOptions, BuilderSnapshot };
19
- import { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays } from "./shared.js";
20
- export { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays };
21
- import { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter } from "./utils.js";
22
- export { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter };
9
+ export type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions } from "./types.js";
10
+ export { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, normalizeWritable as Writeable, consumers, promises } from "./streams.browser.js";
11
+ export type { PipelineOptions, FinishedOptions } from "./streams.browser.js";
12
+ export { EventEmitter } from "./event-emitter.js";
13
+ export { ChunkedBuilder, TransactionalChunkedBuilder } from "./chunked-builder.js";
14
+ export type { ChunkedBuilderOptions, BuilderSnapshot } from "./chunked-builder.js";
15
+ export { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays } from "./shared.js";
16
+ export { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter } from "./utils.js";
@@ -1,49 +1,26 @@
1
1
  /**
2
- * Stream Module
2
+ * Stream Module (Node.js entry)
3
3
  *
4
- * Native stream implementations for Node.js and Browser.
4
+ * Public entrypoint for stream utilities and classes.
5
5
  *
6
- * - Node.js: Uses native `stream` module (Readable, Writable, Transform, Duplex, PassThrough)
7
- * - Browser: Uses Web Streams API (ReadableStream, WritableStream, TransformStream)
8
- *
9
- * Both implementations provide the same API for cross-platform compatibility.
6
+ * Notes:
7
+ * - This file is intentionally export-only (tree-shaking friendly).
8
+ * - Browser builds should import from `@stream/index.browser`.
10
9
  *
11
10
  * @example
12
- * ```typescript
13
- * import {
14
- * Readable,
15
- * Writable,
16
- * Transform,
17
- * Duplex,
18
- * PassThrough,
19
- * pipeline,
20
- * createTransform,
21
- * streamToUint8Array
22
- * } from './modules/stream.js';
23
- *
24
- * // Create a transform stream
25
- * const uppercase = createTransform<Uint8Array, Uint8Array>(chunk => {
26
- * const text = new TextDecoder().decode(chunk);
27
- * return new TextEncoder().encode(text.toUpperCase());
28
- * });
11
+ * ```ts
12
+ * import { pipeline, createTransform, createCollector } from "./index.js";
29
13
  *
30
- * // Use pipeline for clean stream composition
31
- * await pipeline(readable, uppercase, writable);
14
+ * const upper = createTransform<Uint8Array, Uint8Array>(chunk => chunk);
15
+ * const out = createCollector<Uint8Array>();
16
+ * await pipeline(source, upper, out);
32
17
  * ```
33
18
  */
34
- import type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions } from "./types.js";
35
- export type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions };
36
- import { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, normalizeWritable as Writeable, consumers, promises } from "./streams.js";
37
- import type { PipelineOptions, FinishedOptions } from "./streams.js";
38
- export { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, Writeable, consumers, promises };
39
- export type { PipelineOptions, FinishedOptions };
40
- import { EventEmitter } from "./event-emitter.js";
41
- export { EventEmitter };
42
- import { ChunkedBuilder, TransactionalChunkedBuilder } from "./chunked-builder.js";
43
- import type { ChunkedBuilderOptions, BuilderSnapshot } from "./chunked-builder.js";
44
- export { ChunkedBuilder, TransactionalChunkedBuilder };
45
- export type { ChunkedBuilderOptions, BuilderSnapshot };
46
- import { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays } from "./shared.js";
47
- export { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays };
48
- import { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter } from "./utils.js";
49
- export { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter };
19
+ export type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions } from "./types.js";
20
+ export { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, normalizeWritable as Writeable, consumers, promises } from "./streams.js";
21
+ export type { PipelineOptions, FinishedOptions } from "./streams.js";
22
+ export { EventEmitter } from "./event-emitter.js";
23
+ export { ChunkedBuilder, TransactionalChunkedBuilder } from "./chunked-builder.js";
24
+ export type { ChunkedBuilderOptions, BuilderSnapshot } from "./chunked-builder.js";
25
+ export { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays } from "./shared.js";
26
+ export { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter } from "./utils.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Small event utilities for Node-style emitters.
3
+ *
4
+ * Prefer keeping this separate from the main stream implementation so other
5
+ * modules (e.g. archive) can reuse it without pulling in the whole stream API.
6
+ */
7
+ type NodeStyleEmitter = {
8
+ on?: (event: string, listener: (...args: any[]) => void) => any;
9
+ once?: (event: string, listener: (...args: any[]) => void) => any;
10
+ off?: (event: string, listener: (...args: any[]) => void) => any;
11
+ removeListener?: (event: string, listener: (...args: any[]) => void) => any;
12
+ };
13
+ /**
14
+ * Resolve when an emitter fires `event`, reject on `error`.
15
+ */
16
+ export declare function onceEvent(emitter: NodeStyleEmitter, event: string): Promise<void>;
17
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Lightweight runtime type guards shared across modules.
3
+ *
4
+ * Keep this file dependency-free to maximize deduping in bundled builds.
5
+ */
6
+ export declare function isReadableStream(value: unknown): value is ReadableStream<unknown>;
7
+ export declare function isWritableStream(value: unknown): value is WritableStream<unknown>;
8
+ export declare function isAsyncIterable(value: unknown): value is AsyncIterable<unknown>;
9
+ export declare function isTransformStream(value: unknown): value is TransformStream<unknown, unknown>;
@@ -5,16 +5,15 @@
5
5
  * Works identically in both browser and Node.js environments.
6
6
  */
7
7
  import { EventEmitter } from "./event-emitter.js";
8
- export interface PullStreamOptions {
9
- /** Enable object mode */
10
- objectMode?: boolean;
11
- }
8
+ import type { PullStreamOptions } from "./types.js";
9
+ export type { PullStreamOptions } from "./types.js";
12
10
  /**
13
11
  * Browser-compatible Pull Stream - Read data from buffer on demand with pattern matching
14
12
  */
15
13
  export declare class PullStream extends EventEmitter {
16
- private _bufferChunks;
17
- private _totalLength;
14
+ private _buffer;
15
+ private _bufferReadIndex;
16
+ private _bufferWriteIndex;
18
17
  protected finished: boolean;
19
18
  protected _match?: number;
20
19
  private _destroyed;
@@ -31,7 +31,7 @@ export declare function uint8ArrayToString(arr: Uint8Array, encoding?: string):
31
31
  /**
32
32
  * Concatenate multiple Uint8Arrays efficiently
33
33
  */
34
- export declare function concatUint8Arrays(arrays: readonly Uint8Array[]): Uint8Array;
34
+ export declare function concatUint8Arrays(arrays: readonly Uint8Array[], totalLength?: number): Uint8Array;
35
35
  /**
36
36
  * Compare two Uint8Arrays for equality
37
37
  */
@@ -10,11 +10,11 @@
10
10
  * - Safari >= 14.1
11
11
  * - Edge >= 89
12
12
  */
13
- import type { TransformStreamOptions, ReadableStreamOptions, WritableStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, DataChunk, ICollector, IDuplex, IEventEmitter, IPassThrough, IReadable, ITransform, IWritable, PipelineStreamLike, ReadableLike, WritableLike } from "./types.js";
13
+ import type { TransformStreamOptions, ReadableStreamOptions, WritableStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, ICollector, IDuplex, IEventEmitter, IPassThrough, IReadable, ITransform, IWritable, PipelineStreamLike, ReadableLike, WritableLike } from "./types.js";
14
14
  import type { Writable as NodeWritable } from "stream";
15
15
  import { EventEmitter } from "./event-emitter.js";
16
- import { PullStream as StandalonePullStream, type PullStreamOptions as StandalonePullStreamOptions } from "./pull-stream.js";
17
- import { BufferedStream as StandaloneBufferedStream, StringChunk as StandaloneStringChunk, BufferChunk as StandaloneBufferChunk } from "./buffered-stream.js";
16
+ import { PullStream } from "./pull-stream.js";
17
+ import { BufferedStream, BufferChunk, StringChunk } from "./buffered-stream.js";
18
18
  /**
19
19
  * A wrapper around Web ReadableStream that provides Node.js-like API
20
20
  */
@@ -27,6 +27,7 @@ export declare class Readable<T = Uint8Array> extends EventEmitter {
27
27
  private _bufferSize;
28
28
  private _reading;
29
29
  private _ended;
30
+ private _endEmitted;
30
31
  private _destroyed;
31
32
  private _errored;
32
33
  private _closed;
@@ -71,6 +72,7 @@ export declare class Readable<T = Uint8Array> extends EventEmitter {
71
72
  * Push data to the stream (when using controllable stream)
72
73
  */
73
74
  push(chunk: T | null): boolean;
75
+ private _emitEndOnce;
74
76
  /**
75
77
  * Put a chunk back at the front of the buffer
76
78
  * Note: unshift is allowed even after end, as it's used to put back already read data
@@ -158,7 +160,8 @@ export declare class Readable<T = Uint8Array> extends EventEmitter {
158
160
  private _startReading;
159
161
  /**
160
162
  * Async iterator support
161
- * Uses Web Stream reader for non-push mode, event-based for push mode
163
+ * Uses a unified event-queue iterator with simple backpressure.
164
+ * This matches Node's behavior more closely (iterator drives flowing mode).
162
165
  */
163
166
  [Symbol.asyncIterator](): AsyncIterableIterator<T>;
164
167
  /**
@@ -285,10 +288,12 @@ export declare class Writable<T = Uint8Array> extends EventEmitter {
285
288
  private _closed;
286
289
  private _pendingWrites;
287
290
  private _writableLength;
291
+ private _needDrain;
288
292
  private _corked;
289
293
  private _corkedChunks;
290
294
  private _defaultEncoding;
291
295
  private _aborted;
296
+ private _ownsStream;
292
297
  private _writeFunc?;
293
298
  private _finalFunc?;
294
299
  readonly objectMode: boolean;
@@ -398,53 +403,46 @@ export declare function normalizeWritable<T = Uint8Array>(stream: WritableLike |
398
403
  * A wrapper around Web TransformStream that provides Node.js-like API
399
404
  */
400
405
  export declare class Transform<TInput = Uint8Array, TOutput = Uint8Array> extends EventEmitter {
401
- private _stream;
402
406
  /** @internal - for pipe() support */
403
407
  readonly _readable: Readable<TOutput>;
404
408
  /** @internal - for pipe() support */
405
409
  readonly _writable: Writable<TInput>;
406
410
  readonly objectMode: boolean;
407
- private _ended;
408
411
  private _destroyed;
412
+ private _ended;
409
413
  private _errored;
410
- private _pushBuffer;
411
- private _transformController;
412
- private _pendingEndWrites;
413
- private _endPending;
414
+ private _dataForwardingSetup;
415
+ private _endTimer;
416
+ private _webStream;
417
+ private _sideForwardingCleanup;
418
+ private _transformImpl;
419
+ private _flushImpl;
414
420
  /**
415
- * Push data to the readable side (Node.js compatibility)
416
- * Can be called from within transform callback
421
+ * Push data to the readable side (Node.js compatibility).
422
+ * Intended to be called from within transform/flush.
417
423
  */
418
424
  push(chunk: TOutput | null): boolean;
419
425
  constructor(options?: TransformStreamOptions & {
420
426
  transform?: ((chunk: TInput) => TOutput | Promise<TOutput>) | ((this: Transform<TInput, TOutput>, chunk: TInput, encoding: string, callback: (error?: Error | null, data?: TOutput) => void) => void);
421
427
  flush?: (() => TOutput | void | Promise<TOutput | void>) | ((this: Transform<TInput, TOutput>, callback: (error?: Error | null, data?: TOutput) => void) => void);
422
428
  });
423
- private _dataForwardingSetup;
429
+ private _setupSideForwarding;
430
+ private _scheduleEnd;
431
+ private _emitErrorOnce;
432
+ private _hasSubclassTransform;
433
+ private _hasSubclassFlush;
434
+ private _runTransform;
435
+ private _runFlush;
424
436
  /**
425
- * Override on to start flowing when data listener is added
437
+ * Override on() to lazily forward readable 'data' events.
438
+ * Avoids starting flowing mode unless requested.
426
439
  */
427
440
  on(event: string | symbol, listener: (...args: any[]) => void): this;
428
- /** @internal - whether we have a data event consumer */
429
- private _hasDataConsumer;
430
441
  /**
431
- * Write data to the transform stream
432
- * Note: Automatically starts consuming readable if no consumer to allow
433
- * transform function to execute (Web Streams backpressure compatibility)
442
+ * Write to the writable side
434
443
  */
435
444
  write(chunk: TInput, callback?: (error?: Error | null) => void): boolean;
436
445
  write(chunk: TInput, encoding?: string, callback?: (error?: Error | null) => void): boolean;
437
- /** @internal - whether we're auto-consuming the readable */
438
- private _readableConsuming;
439
- /** @internal - buffer for auto-consumed data */
440
- private _autoConsumedBuffer;
441
- private _autoConsumedBufferIndex;
442
- /** @internal - whether auto-consume has ended */
443
- private _autoConsumeEnded;
444
- /** @internal - promise that resolves when auto-consume finishes */
445
- private _autoConsumePromise;
446
- /** @internal - auto-consume readable to allow transform to execute */
447
- private _startAutoConsume;
448
446
  /**
449
447
  * End the transform stream
450
448
  * Delays closing to allow writes during data events to complete
@@ -456,10 +454,8 @@ export declare class Transform<TInput = Uint8Array, TOutput = Uint8Array> extend
456
454
  * Read from the transform stream
457
455
  */
458
456
  read(size?: number): TOutput | null;
459
- /** @internal - list of piped destinations for forwarding auto-consumed data */
460
- private _pipeDestinations;
461
457
  /**
462
- * Pipe to another stream (writable, transform, or duplex)
458
+ * Pipe readable side to destination
463
459
  */
464
460
  pipe<W extends Writable<TOutput> | Transform<TOutput, any> | Duplex<any, TOutput>>(destination: W): W;
465
461
  /**
@@ -554,6 +550,7 @@ export declare class Duplex<TRead = Uint8Array, TWrite = Uint8Array> extends Eve
554
550
  writable: WritableStream<W>;
555
551
  };
556
552
  private _dataForwardingSetup;
553
+ private _sideForwardingCleanup;
557
554
  constructor(options?: DuplexStreamOptions & {
558
555
  allowHalfOpen?: boolean;
559
556
  objectMode?: boolean;
@@ -561,6 +558,7 @@ export declare class Duplex<TRead = Uint8Array, TWrite = Uint8Array> extends Eve
561
558
  write?: (this: Duplex<TRead, TWrite>, chunk: TWrite, encoding: string, callback: (error?: Error | null) => void) => void;
562
559
  final?: (this: Duplex<TRead, TWrite>, callback: (error?: Error | null) => void) => void;
563
560
  });
561
+ private _setupSideForwarding;
564
562
  /**
565
563
  * Override on() to set up data forwarding lazily
566
564
  */
@@ -669,16 +667,7 @@ export declare class Collector<T = Uint8Array> extends Writable<T> {
669
667
  toString(): string;
670
668
  get isFinished(): boolean;
671
669
  }
672
- export declare class PullStream extends StandalonePullStream {
673
- constructor(options?: PullStreamOptions | StandalonePullStreamOptions);
674
- }
675
- export declare class StringChunk extends StandaloneStringChunk implements DataChunk {
676
- }
677
- export declare class BufferChunk extends StandaloneBufferChunk implements DataChunk {
678
- }
679
- export declare class BufferedStream extends StandaloneBufferedStream {
680
- constructor(options?: BufferedStreamOptions);
681
- }
670
+ export { PullStream, BufferedStream, StringChunk, BufferChunk };
682
671
  /**
683
672
  * Create a readable stream with custom read implementation
684
673
  */
@@ -935,4 +924,3 @@ export declare const promises: {
935
924
  pipeline: typeof pipeline;
936
925
  finished: typeof finished;
937
926
  };
938
- export {};
@@ -5,9 +5,9 @@
5
5
  * Provides Readable, Writable, Transform, Duplex, and PassThrough streams.
6
6
  */
7
7
  import { Readable, Writable as NodeWritable, Transform, Duplex, PassThrough } from "stream";
8
- import type { TransformStreamOptions, ReadableStreamOptions, WritableStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, DataChunk, ICollector, IDuplex, IEventEmitter, IPassThrough, IReadable, ITransform, IWritable, PipelineStreamLike, ReadableLike, WritableLike } from "./types.js";
9
- import { BufferedStream as StandaloneBufferedStream, StringChunk as StandaloneStringChunk, BufferChunk as StandaloneBufferChunk } from "./buffered-stream.js";
10
- import { PullStream as StandalonePullStream } from "./pull-stream.js";
8
+ import type { TransformStreamOptions, ReadableStreamOptions, WritableStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, ICollector, IDuplex, IEventEmitter, IPassThrough, IReadable, ITransform, IWritable, PipelineStreamLike, ReadableLike, WritableLike } from "./types.js";
9
+ import { BufferedStream, BufferChunk, StringChunk } from "./buffered-stream.js";
10
+ import { PullStream } from "./pull-stream.js";
11
11
  /**
12
12
  * Extended Writable options that match browser API
13
13
  * Supports wrapping an existing Node.js stream
@@ -30,6 +30,7 @@ export declare class Writable<T = Uint8Array> extends NodeWritable {
30
30
  constructor(options?: WritableOptions<T>);
31
31
  }
32
32
  export { Readable, Transform, Duplex, PassThrough };
33
+ export { PullStream, BufferedStream, StringChunk, BufferChunk };
33
34
  /**
34
35
  * Normalize a user-provided writable into a Node.js-compatible Writable.
35
36
  *
@@ -130,27 +131,10 @@ export declare class Collector<T = Uint8Array> extends Writable {
130
131
  * Create a collector stream
131
132
  */
132
133
  export declare function createCollector<T = Uint8Array>(options?: WritableStreamOptions): ICollector<T>;
133
- export declare class PullStream extends StandalonePullStream {
134
- }
135
134
  /**
136
135
  * Create a pull stream
137
136
  */
138
137
  export declare function createPullStream(options?: PullStreamOptions): PullStream;
139
- /**
140
- * String chunk implementation
141
- */
142
- export declare class StringChunk extends StandaloneStringChunk implements DataChunk {
143
- }
144
- /**
145
- * Buffer chunk implementation
146
- */
147
- export declare class BufferChunk extends StandaloneBufferChunk implements DataChunk {
148
- }
149
- /**
150
- * Buffered stream with efficient chunk management
151
- */
152
- export declare class BufferedStream extends StandaloneBufferedStream {
153
- }
154
138
  /**
155
139
  * Create a buffered stream
156
140
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cj-tech-master/excelts",
3
- "version": "4.2.1",
3
+ "version": "4.2.2-canary.20260115044841.88820eb",
4
4
  "description": "TypeScript Excel Workbook Manager - Read and Write xlsx and csv Files.",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -44,6 +44,10 @@
44
44
  "default": "./dist/cjs/index.js"
45
45
  }
46
46
  },
47
+ "./browser": {
48
+ "types": "./dist/browser/index.browser.d.ts",
49
+ "default": "./dist/browser/index.browser.js"
50
+ },
47
51
  "./package.json": "./package.json"
48
52
  },
49
53
  "files": [
@@ -86,23 +90,23 @@
86
90
  ],
87
91
  "devDependencies": {
88
92
  "@eslint/js": "^9.39.2",
89
- "@types/node": "^25.0.3",
93
+ "@types/node": "^25.0.6",
90
94
  "@typescript-eslint/eslint-plugin": "^8.52.0",
91
95
  "@typescript-eslint/parser": "^8.52.0",
92
- "@typescript/native-preview": "^7.0.0-dev.20260108.1",
93
- "@vitest/browser": "^4.0.16",
94
- "@vitest/browser-playwright": "^4.0.16",
95
- "@vitest/ui": "^4.0.16",
96
+ "@typescript/native-preview": "^7.0.0-dev.20260112.1",
97
+ "@vitest/browser": "^4.0.17",
98
+ "@vitest/browser-playwright": "^4.0.17",
99
+ "@vitest/ui": "^4.0.17",
96
100
  "concurrently": "^9.2.1",
97
101
  "cross-env": "^10.1.0",
98
102
  "eslint": "^9.39.2",
99
103
  "eslint-config-prettier": "^10.1.8",
100
104
  "eslint-import-resolver-typescript": "^4.4.4",
101
105
  "eslint-plugin-import-x": "^4.16.1",
102
- "eslint-plugin-oxlint": "^1.38.0",
106
+ "eslint-plugin-oxlint": "^1.39.0",
103
107
  "eslint-plugin-unused-imports": "^4.3.0",
104
108
  "husky": "^9.1.7",
105
- "oxlint": "^1.38.0",
109
+ "oxlint": "^1.39.0",
106
110
  "playwright": "^1.57.0",
107
111
  "prettier": "^3.7.4",
108
112
  "rimraf": "^6.1.2",
@@ -110,8 +114,8 @@
110
114
  "rollup-plugin-visualizer": "^6.0.5",
111
115
  "typescript": "^5.9.3",
112
116
  "typescript-eslint": "^8.52.0",
113
- "vite-tsconfig-paths": "^6.0.3",
114
- "vitest": "^4.0.16"
117
+ "vite-tsconfig-paths": "^6.0.4",
118
+ "vitest": "^4.0.17"
115
119
  },
116
120
  "scripts": {
117
121
  "example": "node scripts/run-examples.ts",
@@ -1,18 +0,0 @@
1
- export declare class ByteQueue {
2
- private static readonly EMPTY;
3
- private _buf;
4
- private _start;
5
- private _end;
6
- private _cachedView;
7
- private _cachedBuf;
8
- private _cachedStart;
9
- private _cachedEnd;
10
- constructor(initial?: Uint8Array);
11
- get length(): number;
12
- isEmpty(): boolean;
13
- view(): Uint8Array;
14
- reset(data?: Uint8Array): void;
15
- append(chunk: Uint8Array): void;
16
- read(length: number): Uint8Array;
17
- discard(length: number): void;
18
- }