@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
@@ -16,14 +16,12 @@ class TextXform extends base_xform_1.BaseXform {
16
16
  xmlStream.closeNode();
17
17
  }
18
18
  parseOpen(node) {
19
- switch (node.name) {
20
- case "t":
21
- this._text = [];
22
- this.model = ""; // Initialize model to empty string
23
- return true;
24
- default:
25
- return false;
19
+ if (node.name === "t") {
20
+ this._text = [];
21
+ this.model = "";
22
+ return true;
26
23
  }
24
+ return false;
27
25
  }
28
26
  parseText(text) {
29
27
  this._text.push(text);
@@ -33,8 +33,8 @@ const theme1_1 = require("./xml/theme1.js");
33
33
  const rel_type_1 = require("./rel-type.js");
34
34
  const stream_buf_1 = require("../utils/stream-buf.js");
35
35
  const utils_1 = require("../../../utils/utils.js");
36
- const streaming_zip_1 = require("../../archive/streaming-zip.js");
37
- const _archive_1 = require("../../archive/index.js");
36
+ const stream_1 = require("../../archive/zip/stream.js");
37
+ const zip_parser_1 = require("../../archive/unzip/zip-parser.js");
38
38
  const _stream_1 = require("../../stream/index.js");
39
39
  const ooxml_paths_1 = require("../utils/ooxml-paths.js");
40
40
  class StreamingZipWriterAdapter {
@@ -45,7 +45,7 @@ class StreamingZipWriterAdapter {
45
45
  this.level = options?.level ?? 6;
46
46
  this.modTime = options?.modTime;
47
47
  this.timestamps = options?.timestamps;
48
- this.zip = new streaming_zip_1.StreamingZip((err, data, final) => {
48
+ this.zip = new stream_1.StreamingZip((err, data, final) => {
49
49
  if (err) {
50
50
  this._emit("error", err);
51
51
  return;
@@ -123,16 +123,13 @@ class StreamingZipWriterAdapter {
123
123
  else {
124
124
  buffer = data;
125
125
  }
126
- const file = new streaming_zip_1.ZipDeflateFile(options.name, {
126
+ const file = new stream_1.ZipDeflateFile(options.name, {
127
127
  level: this.level,
128
128
  modTime: this.modTime,
129
129
  timestamps: this.timestamps
130
130
  });
131
131
  this.zip.add(file);
132
- const pushResult = file.push(buffer, true);
133
- if (pushResult && typeof pushResult.catch === "function") {
134
- pushResult.catch((err) => this._emit("error", err));
135
- }
132
+ file.push(buffer, true);
136
133
  }
137
134
  finalize() {
138
135
  if (this.finalized) {
@@ -291,7 +288,7 @@ class XLSX {
291
288
  * Internal: Load from Uint8Array buffer
292
289
  */
293
290
  async loadBuffer(buffer, options) {
294
- const parser = new _archive_1.ZipParser(buffer);
291
+ const parser = new zip_parser_1.ZipParser(buffer);
295
292
  const filesMap = await parser.extractAll();
296
293
  // Convert Map to Record for loadFromFiles
297
294
  const allFiles = {};
@@ -370,8 +367,10 @@ class XLSX {
370
367
  case ooxml_paths_1.OOXML_PATHS.docPropsApp: {
371
368
  const appXform = new app_xform_1.AppXform();
372
369
  const appProperties = await appXform.parseStream(stream);
373
- model.company = appProperties.company;
374
- model.manager = appProperties.manager;
370
+ if (appProperties) {
371
+ model.company = appProperties.company;
372
+ model.manager = appProperties.manager;
373
+ }
375
374
  break;
376
375
  }
377
376
  case ooxml_paths_1.OOXML_PATHS.docPropsCore: {
@@ -833,8 +832,10 @@ class XLSX {
833
832
  case ooxml_paths_1.OOXML_PATHS.docPropsApp: {
834
833
  const appXform = new app_xform_1.AppXform();
835
834
  const appProperties = await appXform.parseStream(stream);
836
- model.company = appProperties.company;
837
- model.manager = appProperties.manager;
835
+ if (appProperties) {
836
+ model.company = appProperties.company;
837
+ model.manager = appProperties.manager;
838
+ }
838
839
  break;
839
840
  }
840
841
  case ooxml_paths_1.OOXML_PATHS.docPropsCore: {
@@ -22,7 +22,7 @@ exports.XLSX = void 0;
22
22
  const fs_1 = __importDefault(require("fs"));
23
23
  const utils_1 = require("../../../utils/utils.js");
24
24
  const xlsx_browser_1 = require("./xlsx.browser.js");
25
- const _archive_1 = require("../../archive/index.js");
25
+ const stream_1 = require("../../archive/unzip/stream.js");
26
26
  const _stream_1 = require("../../stream/index.js");
27
27
  class XLSX extends xlsx_browser_1.XLSX {
28
28
  constructor(workbook) {
@@ -78,7 +78,7 @@ class XLSX extends xlsx_browser_1.XLSX {
78
78
  // Node.js specific: TRUE streaming read
79
79
  // ==========================================================================
80
80
  async read(stream, options) {
81
- const parser = new _archive_1.Parse();
81
+ const parser = new stream_1.Parse();
82
82
  const swallowError = () => {
83
83
  // Prevent unhandled 'error' events from crashing the process.
84
84
  // Errors are surfaced via rejected promises.
@@ -20,6 +20,8 @@ class BaseTransform extends event_emitter_1.EventEmitter {
20
20
  this._isDestroyed = false;
21
21
  this._isFinished = false;
22
22
  this._errorEmitted = false;
23
+ this._ending = false;
24
+ this._flushInProgress = false;
23
25
  this._objectMode = options.objectMode ?? false;
24
26
  this._highWaterMark = options.highWaterMark ?? 16384;
25
27
  }
@@ -48,26 +50,8 @@ class BaseTransform extends event_emitter_1.EventEmitter {
48
50
  if (chunk !== undefined) {
49
51
  this.write(chunk);
50
52
  }
51
- // Wait for buffer to drain, then flush
52
- const checkAndFlush = () => {
53
- if (this._buffer.length === this._bufferIndex && !this._isProcessing) {
54
- this.processFlush((err, data) => {
55
- if (err) {
56
- this._emitError(err);
57
- }
58
- else if (data !== undefined) {
59
- this.emit("data", data);
60
- }
61
- this._isFinished = true;
62
- this.emit("finish");
63
- this.emit("end");
64
- });
65
- }
66
- else {
67
- setTimeout(checkAndFlush, 0);
68
- }
69
- };
70
- checkAndFlush();
53
+ this._ending = true;
54
+ this._maybeFlush();
71
55
  }
72
56
  /**
73
57
  * Destroy the stream
@@ -116,13 +100,43 @@ class BaseTransform extends event_emitter_1.EventEmitter {
116
100
  }
117
101
  // Process next chunk
118
102
  this._processNext();
103
+ this._maybeFlush();
119
104
  }
120
105
  });
121
106
  }
122
107
  catch (err) {
123
108
  this._isProcessing = false;
124
109
  this._emitError(err);
110
+ this._maybeFlush();
111
+ }
112
+ }
113
+ _maybeFlush() {
114
+ if (!this._ending || this._isDestroyed || this._isFinished || this._flushInProgress) {
115
+ return;
125
116
  }
117
+ // If an error was emitted, stop flushing to avoid hanging end().
118
+ if (this._errorEmitted) {
119
+ this._isFinished = true;
120
+ this.emit("finish");
121
+ this.emit("end");
122
+ return;
123
+ }
124
+ if (this._isProcessing || this._bufferIndex < this._buffer.length) {
125
+ return;
126
+ }
127
+ this._flushInProgress = true;
128
+ this.processFlush((err, data) => {
129
+ this._flushInProgress = false;
130
+ if (err) {
131
+ this._emitError(err);
132
+ }
133
+ else if (data !== undefined) {
134
+ this.emit("data", data);
135
+ }
136
+ this._isFinished = true;
137
+ this.emit("finish");
138
+ this.emit("end");
139
+ });
126
140
  }
127
141
  /**
128
142
  * Emit error only once
@@ -48,7 +48,7 @@ class ChunkedBuilder {
48
48
  _consolidate() {
49
49
  if (this._pieces.length > 0) {
50
50
  this._chunks.push(this._pieces.join(""));
51
- this._pieces = [];
51
+ this._pieces.length = 0;
52
52
  }
53
53
  }
54
54
  /**
@@ -79,8 +79,8 @@ class ChunkedBuilder {
79
79
  * Clear all content
80
80
  */
81
81
  clear() {
82
- this._pieces = [];
83
- this._chunks = [];
82
+ this._pieces.length = 0;
83
+ this._chunks.length = 0;
84
84
  this._totalLength = 0;
85
85
  }
86
86
  /**
@@ -102,7 +102,7 @@ class ChunkedBuilder {
102
102
  // Has chunks - consolidate and join
103
103
  if (piecesLen > 0) {
104
104
  this._chunks.push(this._pieces.join(""));
105
- this._pieces = [];
105
+ this._pieces.length = 0;
106
106
  }
107
107
  if (this._chunks.length === 1) {
108
108
  return this._chunks[0];
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
  /**
3
- * Stream Module (browser type surface)
3
+ * Stream Module (browser entry)
4
4
  *
5
- * Mirrors [src/modules/stream/index.ts] but explicitly re-exports from
6
- * ./streams.browser so we can enforce index export-surface parity.
5
+ * Mirrors the public surface of `./index.ts`, but exports the browser
6
+ * implementation from `./streams.browser`.
7
+ *
8
+ * This file is intentionally export-only (tree-shaking friendly).
7
9
  */
8
10
  Object.defineProperty(exports, "__esModule", { value: true });
9
11
  exports.consumers = exports.Writeable = exports.duplexPair = exports.setDefaultHighWaterMark = exports.getDefaultHighWaterMark = exports.isErrored = exports.isDisturbed = exports.isDestroyed = exports.isStream = exports.isDuplex = exports.isTransform = exports.isWritable = exports.isReadable = exports.promisify = exports.once = exports.finishedAll = exports.compose = exports.addAbortSignal = exports.copyStream = exports.drainStream = exports.streamToString = exports.streamToBuffer = exports.streamToUint8Array = exports.streamToPromise = exports.finished = exports.pipeline = exports.createNullWritable = exports.createEmptyReadable = exports.createDuplex = exports.createReadableFromPromise = exports.createReadableFromGenerator = exports.createReadableFromAsyncIterable = exports.createReadableFromArray = exports.createBufferedStream = exports.createPullStream = exports.createPassThrough = exports.createCollector = exports.createTransform = exports.createWritable = exports.createReadable = exports.BufferChunk = exports.StringChunk = exports.BufferedStream = exports.PullStream = exports.Collector = exports.PassThrough = exports.Duplex = exports.Transform = exports.Writable = exports.Readable = void 0;
10
12
  exports.filter = exports.transform = exports.fromBytes = exports.fromJSON = exports.fromString = exports.bytes = exports.json = exports.text = exports.collect = exports.concatUint8Arrays = exports.bufferToString = exports.toUint8Array = exports.uint8ArraySlice = exports.uint8ArrayIndexOf = exports.uint8ArrayEquals = exports.uint8ArrayToString = exports.stringToUint8Array = exports.textDecoder = exports.textEncoder = exports.TransactionalChunkedBuilder = exports.ChunkedBuilder = exports.EventEmitter = exports.promises = void 0;
11
- // =============================================================================
12
- // Native Stream Classes and Functions (browser)
13
- // =============================================================================
14
- const streams_browser_1 = require("./streams.browser.js");
13
+ var streams_browser_1 = require("./streams.browser.js");
15
14
  Object.defineProperty(exports, "Readable", { enumerable: true, get: function () { return streams_browser_1.Readable; } });
16
15
  Object.defineProperty(exports, "Writable", { enumerable: true, get: function () { return streams_browser_1.Writable; } });
17
16
  Object.defineProperty(exports, "Transform", { enumerable: true, get: function () { return streams_browser_1.Transform; } });
@@ -63,18 +62,12 @@ Object.defineProperty(exports, "duplexPair", { enumerable: true, get: function (
63
62
  Object.defineProperty(exports, "Writeable", { enumerable: true, get: function () { return streams_browser_1.normalizeWritable; } });
64
63
  Object.defineProperty(exports, "consumers", { enumerable: true, get: function () { return streams_browser_1.consumers; } });
65
64
  Object.defineProperty(exports, "promises", { enumerable: true, get: function () { return streams_browser_1.promises; } });
66
- const event_emitter_1 = require("./event-emitter.js");
65
+ var event_emitter_1 = require("./event-emitter.js");
67
66
  Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return event_emitter_1.EventEmitter; } });
68
- // =============================================================================
69
- // ChunkedBuilder (platform-independent)
70
- // =============================================================================
71
- const chunked_builder_1 = require("./chunked-builder.js");
67
+ var chunked_builder_1 = require("./chunked-builder.js");
72
68
  Object.defineProperty(exports, "ChunkedBuilder", { enumerable: true, get: function () { return chunked_builder_1.ChunkedBuilder; } });
73
69
  Object.defineProperty(exports, "TransactionalChunkedBuilder", { enumerable: true, get: function () { return chunked_builder_1.TransactionalChunkedBuilder; } });
74
- // =============================================================================
75
- // Utility Functions (platform-independent)
76
- // =============================================================================
77
- const shared_1 = require("./shared.js");
70
+ var shared_1 = require("./shared.js");
78
71
  Object.defineProperty(exports, "textEncoder", { enumerable: true, get: function () { return shared_1.textEncoder; } });
79
72
  Object.defineProperty(exports, "textDecoder", { enumerable: true, get: function () { return shared_1.textDecoder; } });
80
73
  Object.defineProperty(exports, "stringToUint8Array", { enumerable: true, get: function () { return shared_1.stringToUint8Array; } });
@@ -85,7 +78,7 @@ Object.defineProperty(exports, "uint8ArraySlice", { enumerable: true, get: funct
85
78
  Object.defineProperty(exports, "toUint8Array", { enumerable: true, get: function () { return shared_1.toUint8Array; } });
86
79
  Object.defineProperty(exports, "bufferToString", { enumerable: true, get: function () { return shared_1.bufferToString; } });
87
80
  Object.defineProperty(exports, "concatUint8Arrays", { enumerable: true, get: function () { return shared_1.concatUint8Arrays; } });
88
- const utils_1 = require("./utils.js");
81
+ var utils_1 = require("./utils.js");
89
82
  Object.defineProperty(exports, "collect", { enumerable: true, get: function () { return utils_1.collect; } });
90
83
  Object.defineProperty(exports, "text", { enumerable: true, get: function () { return utils_1.text; } });
91
84
  Object.defineProperty(exports, "json", { enumerable: true, get: function () { return utils_1.json; } });
@@ -1,44 +1,26 @@
1
1
  "use strict";
2
2
  /**
3
- * Stream Module
3
+ * Stream Module (Node.js entry)
4
4
  *
5
- * Native stream implementations for Node.js and Browser.
5
+ * Public entrypoint for stream utilities and classes.
6
6
  *
7
- * - Node.js: Uses native `stream` module (Readable, Writable, Transform, Duplex, PassThrough)
8
- * - Browser: Uses Web Streams API (ReadableStream, WritableStream, TransformStream)
9
- *
10
- * Both implementations provide the same API for cross-platform compatibility.
7
+ * Notes:
8
+ * - This file is intentionally export-only (tree-shaking friendly).
9
+ * - Browser builds should import from `@stream/index.browser`.
11
10
  *
12
11
  * @example
13
- * ```typescript
14
- * import {
15
- * Readable,
16
- * Writable,
17
- * Transform,
18
- * Duplex,
19
- * PassThrough,
20
- * pipeline,
21
- * createTransform,
22
- * streamToUint8Array
23
- * } from './modules/stream';
24
- *
25
- * // Create a transform stream
26
- * const uppercase = createTransform<Uint8Array, Uint8Array>(chunk => {
27
- * const text = new TextDecoder().decode(chunk);
28
- * return new TextEncoder().encode(text.toUpperCase());
29
- * });
12
+ * ```ts
13
+ * import { pipeline, createTransform, createCollector } from "@stream";
30
14
  *
31
- * // Use pipeline for clean stream composition
32
- * await pipeline(readable, uppercase, writable);
15
+ * const upper = createTransform<Uint8Array, Uint8Array>(chunk => chunk);
16
+ * const out = createCollector<Uint8Array>();
17
+ * await pipeline(source, upper, out);
33
18
  * ```
34
19
  */
35
20
  Object.defineProperty(exports, "__esModule", { value: true });
36
21
  exports.consumers = exports.Writeable = exports.duplexPair = exports.setDefaultHighWaterMark = exports.getDefaultHighWaterMark = exports.isErrored = exports.isDisturbed = exports.isDestroyed = exports.isStream = exports.isDuplex = exports.isTransform = exports.isWritable = exports.isReadable = exports.promisify = exports.once = exports.finishedAll = exports.compose = exports.addAbortSignal = exports.copyStream = exports.drainStream = exports.streamToString = exports.streamToBuffer = exports.streamToUint8Array = exports.streamToPromise = exports.finished = exports.pipeline = exports.createNullWritable = exports.createEmptyReadable = exports.createDuplex = exports.createReadableFromPromise = exports.createReadableFromGenerator = exports.createReadableFromAsyncIterable = exports.createReadableFromArray = exports.createBufferedStream = exports.createPullStream = exports.createPassThrough = exports.createCollector = exports.createTransform = exports.createWritable = exports.createReadable = exports.BufferChunk = exports.StringChunk = exports.BufferedStream = exports.PullStream = exports.Collector = exports.PassThrough = exports.Duplex = exports.Transform = exports.Writable = exports.Readable = void 0;
37
22
  exports.filter = exports.transform = exports.fromBytes = exports.fromJSON = exports.fromString = exports.bytes = exports.json = exports.text = exports.collect = exports.concatUint8Arrays = exports.bufferToString = exports.toUint8Array = exports.uint8ArraySlice = exports.uint8ArrayIndexOf = exports.uint8ArrayEquals = exports.uint8ArrayToString = exports.stringToUint8Array = exports.textDecoder = exports.textEncoder = exports.TransactionalChunkedBuilder = exports.ChunkedBuilder = exports.EventEmitter = exports.promises = void 0;
38
- // =============================================================================
39
- // Native Stream Classes and Functions (platform-specific)
40
- // =============================================================================
41
- const streams_1 = require("./streams.js");
23
+ var streams_1 = require("./streams.js");
42
24
  Object.defineProperty(exports, "Readable", { enumerable: true, get: function () { return streams_1.Readable; } });
43
25
  Object.defineProperty(exports, "Writable", { enumerable: true, get: function () { return streams_1.Writable; } });
44
26
  Object.defineProperty(exports, "Transform", { enumerable: true, get: function () { return streams_1.Transform; } });
@@ -90,18 +72,12 @@ Object.defineProperty(exports, "duplexPair", { enumerable: true, get: function (
90
72
  Object.defineProperty(exports, "Writeable", { enumerable: true, get: function () { return streams_1.normalizeWritable; } });
91
73
  Object.defineProperty(exports, "consumers", { enumerable: true, get: function () { return streams_1.consumers; } });
92
74
  Object.defineProperty(exports, "promises", { enumerable: true, get: function () { return streams_1.promises; } });
93
- const event_emitter_1 = require("./event-emitter.js");
75
+ var event_emitter_1 = require("./event-emitter.js");
94
76
  Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return event_emitter_1.EventEmitter; } });
95
- // =============================================================================
96
- // ChunkedBuilder (platform-independent)
97
- // =============================================================================
98
- const chunked_builder_1 = require("./chunked-builder.js");
77
+ var chunked_builder_1 = require("./chunked-builder.js");
99
78
  Object.defineProperty(exports, "ChunkedBuilder", { enumerable: true, get: function () { return chunked_builder_1.ChunkedBuilder; } });
100
79
  Object.defineProperty(exports, "TransactionalChunkedBuilder", { enumerable: true, get: function () { return chunked_builder_1.TransactionalChunkedBuilder; } });
101
- // =============================================================================
102
- // Utility Functions (platform-independent)
103
- // =============================================================================
104
- const shared_1 = require("./shared.js");
80
+ var shared_1 = require("./shared.js");
105
81
  Object.defineProperty(exports, "textEncoder", { enumerable: true, get: function () { return shared_1.textEncoder; } });
106
82
  Object.defineProperty(exports, "textDecoder", { enumerable: true, get: function () { return shared_1.textDecoder; } });
107
83
  Object.defineProperty(exports, "stringToUint8Array", { enumerable: true, get: function () { return shared_1.stringToUint8Array; } });
@@ -112,7 +88,7 @@ Object.defineProperty(exports, "uint8ArraySlice", { enumerable: true, get: funct
112
88
  Object.defineProperty(exports, "toUint8Array", { enumerable: true, get: function () { return shared_1.toUint8Array; } });
113
89
  Object.defineProperty(exports, "bufferToString", { enumerable: true, get: function () { return shared_1.bufferToString; } });
114
90
  Object.defineProperty(exports, "concatUint8Arrays", { enumerable: true, get: function () { return shared_1.concatUint8Arrays; } });
115
- const utils_1 = require("./utils.js");
91
+ var utils_1 = require("./utils.js");
116
92
  Object.defineProperty(exports, "collect", { enumerable: true, get: function () { return utils_1.collect; } });
117
93
  Object.defineProperty(exports, "text", { enumerable: true, get: function () { return utils_1.text; } });
118
94
  Object.defineProperty(exports, "json", { enumerable: true, get: function () { return utils_1.json; } });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Small event utilities for Node-style emitters.
4
+ *
5
+ * Prefer keeping this separate from the main stream implementation so other
6
+ * modules (e.g. archive) can reuse it without pulling in the whole stream API.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.onceEvent = onceEvent;
10
+ function off(emitter, event, listener) {
11
+ if (typeof emitter.off === "function") {
12
+ emitter.off(event, listener);
13
+ }
14
+ else if (typeof emitter.removeListener === "function") {
15
+ emitter.removeListener(event, listener);
16
+ }
17
+ }
18
+ /**
19
+ * Resolve when an emitter fires `event`, reject on `error`.
20
+ */
21
+ function onceEvent(emitter, event) {
22
+ return new Promise((resolve, reject) => {
23
+ const onError = (err) => {
24
+ cleanup();
25
+ reject(err instanceof Error ? err : new Error(String(err)));
26
+ };
27
+ const onDone = () => {
28
+ cleanup();
29
+ resolve();
30
+ };
31
+ const cleanup = () => {
32
+ off(emitter, "error", onError);
33
+ off(emitter, event, onDone);
34
+ };
35
+ if (typeof emitter.once === "function") {
36
+ emitter.once("error", onError);
37
+ emitter.once(event, onDone);
38
+ return;
39
+ }
40
+ emitter.on?.("error", onError);
41
+ emitter.on?.(event, onDone);
42
+ });
43
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Lightweight runtime type guards shared across modules.
4
+ *
5
+ * Keep this file dependency-free to maximize deduping in bundled builds.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.isReadableStream = isReadableStream;
9
+ exports.isWritableStream = isWritableStream;
10
+ exports.isAsyncIterable = isAsyncIterable;
11
+ exports.isTransformStream = isTransformStream;
12
+ function isReadableStream(value) {
13
+ return !!value && typeof value === "object" && typeof value.getReader === "function";
14
+ }
15
+ function isWritableStream(value) {
16
+ return !!value && typeof value === "object" && typeof value.getWriter === "function";
17
+ }
18
+ function isAsyncIterable(value) {
19
+ return (!!value &&
20
+ (typeof value === "object" || typeof value === "function") &&
21
+ typeof value[Symbol.asyncIterator] === "function");
22
+ }
23
+ function isTransformStream(value) {
24
+ return (!!value &&
25
+ typeof value === "object" &&
26
+ !!value.readable &&
27
+ !!value.writable &&
28
+ isReadableStream(value.readable) &&
29
+ isWritableStream(value.writable));
30
+ }