@cj-tech-master/excelts 4.2.1 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) 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/worksheet.js +5 -2
  68. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -0
  69. package/dist/browser/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  70. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-xform.d.ts +18 -0
  71. package/dist/browser/modules/excel/xlsx/xform/drawing/sp-xform.js +112 -0
  72. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +6 -1
  73. package/dist/browser/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  74. package/dist/browser/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  75. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -0
  76. package/dist/browser/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  77. package/dist/browser/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  78. package/dist/browser/modules/excel/xlsx/xlsx.browser.js +3 -6
  79. package/dist/browser/modules/excel/xlsx/xlsx.js +1 -1
  80. package/dist/browser/modules/stream/base-transform.d.ts +3 -0
  81. package/dist/browser/modules/stream/base-transform.js +34 -20
  82. package/dist/browser/modules/stream/buffered-stream.d.ts +2 -12
  83. package/dist/browser/modules/stream/chunked-builder.js +4 -4
  84. package/dist/browser/modules/stream/index.browser.d.ts +13 -19
  85. package/dist/browser/modules/stream/index.browser.js +10 -22
  86. package/dist/browser/modules/stream/index.d.ts +18 -41
  87. package/dist/browser/modules/stream/index.js +15 -44
  88. package/dist/browser/modules/stream/internal/event-utils.d.ts +17 -0
  89. package/dist/browser/modules/stream/internal/event-utils.js +40 -0
  90. package/dist/browser/modules/stream/internal/type-guards.d.ts +9 -0
  91. package/dist/browser/modules/stream/internal/type-guards.js +24 -0
  92. package/dist/browser/modules/stream/pull-stream.d.ts +5 -6
  93. package/dist/browser/modules/stream/pull-stream.js +107 -43
  94. package/dist/browser/modules/stream/shared.d.ts +1 -1
  95. package/dist/browser/modules/stream/shared.js +7 -4
  96. package/dist/browser/modules/stream/streams.browser.d.ts +32 -44
  97. package/dist/browser/modules/stream/streams.browser.js +921 -836
  98. package/dist/browser/modules/stream/streams.d.ts +4 -20
  99. package/dist/browser/modules/stream/streams.js +146 -95
  100. package/dist/browser/modules/stream/utils.js +5 -38
  101. package/dist/cjs/modules/archive/{compress.base.js → compression/compress.base.js} +1 -1
  102. package/dist/cjs/modules/archive/{compress.browser.js → compression/compress.browser.js} +3 -11
  103. package/dist/cjs/modules/archive/{compress.js → compression/compress.js} +1 -1
  104. package/dist/cjs/modules/archive/{crc32.js → compression/crc32.js} +1 -1
  105. package/dist/cjs/modules/archive/{deflate-fallback.js → compression/deflate-fallback.js} +1 -1
  106. package/dist/cjs/modules/archive/{streaming-compress.browser.js → compression/streaming-compress.browser.js} +3 -3
  107. package/dist/cjs/modules/archive/{streaming-compress.js → compression/streaming-compress.js} +2 -2
  108. package/dist/cjs/modules/archive/defaults.js +7 -4
  109. package/dist/cjs/modules/archive/index.base.js +9 -19
  110. package/dist/cjs/modules/archive/index.browser.js +4 -10
  111. package/dist/cjs/modules/archive/index.js +4 -8
  112. package/dist/cjs/modules/archive/internal/byte-queue.js +411 -0
  113. package/dist/cjs/modules/archive/io/archive-sink.js +49 -0
  114. package/dist/cjs/modules/archive/io/archive-source.js +105 -0
  115. package/dist/cjs/modules/archive/unzip/index.js +170 -0
  116. package/dist/cjs/modules/archive/unzip/stream.base.js +1044 -0
  117. package/dist/cjs/modules/archive/{parse.browser.js → unzip/stream.browser.js} +372 -111
  118. package/dist/cjs/modules/archive/{parse.js → unzip/stream.js} +9 -8
  119. package/dist/cjs/modules/archive/{zip-parser.js → unzip/zip-parser.js} +47 -33
  120. package/dist/cjs/modules/archive/utils/async-queue.js +106 -0
  121. package/dist/cjs/modules/archive/utils/bytes.js +16 -16
  122. package/dist/cjs/modules/archive/utils/compressibility.js +60 -0
  123. package/dist/cjs/modules/archive/utils/parse-buffer.js +21 -23
  124. package/dist/cjs/modules/archive/utils/pattern-scanner.js +31 -0
  125. package/dist/cjs/modules/archive/utils/timestamps.js +64 -3
  126. package/dist/cjs/modules/archive/utils/zip-extra-fields.js +26 -14
  127. package/dist/cjs/modules/archive/zip/index.js +162 -0
  128. package/dist/cjs/modules/archive/{streaming-zip.js → zip/stream.js} +194 -50
  129. package/dist/cjs/modules/archive/zip/zip-bytes.js +242 -0
  130. package/dist/cjs/modules/archive/{zip-entry-metadata.js → zip/zip-entry-metadata.js} +5 -5
  131. package/dist/cjs/modules/archive/zip-spec/zip-records.js +136 -0
  132. package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +2 -2
  133. package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +4 -4
  134. package/dist/cjs/modules/excel/utils/ooxml-validator.js +475 -0
  135. package/dist/cjs/modules/excel/worksheet.js +5 -2
  136. package/dist/cjs/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  137. package/dist/cjs/modules/excel/xlsx/xform/drawing/sp-xform.js +115 -0
  138. package/dist/cjs/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  139. package/dist/cjs/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  140. package/dist/cjs/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  141. package/dist/cjs/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  142. package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +6 -9
  143. package/dist/cjs/modules/excel/xlsx/xlsx.js +2 -2
  144. package/dist/cjs/modules/stream/base-transform.js +34 -20
  145. package/dist/cjs/modules/stream/chunked-builder.js +4 -4
  146. package/dist/cjs/modules/stream/index.browser.js +10 -17
  147. package/dist/cjs/modules/stream/index.js +15 -39
  148. package/dist/cjs/modules/stream/internal/event-utils.js +43 -0
  149. package/dist/cjs/modules/stream/internal/type-guards.js +30 -0
  150. package/dist/cjs/modules/stream/pull-stream.js +107 -43
  151. package/dist/cjs/modules/stream/shared.js +7 -4
  152. package/dist/cjs/modules/stream/streams.browser.js +927 -847
  153. package/dist/cjs/modules/stream/streams.js +156 -107
  154. package/dist/cjs/modules/stream/utils.js +3 -36
  155. package/dist/esm/index.browser.js +12 -0
  156. package/dist/{browser/modules/archive → esm/modules/archive/compression}/compress.base.js +1 -1
  157. package/dist/esm/modules/archive/{compress.browser.js → compression/compress.browser.js} +3 -11
  158. package/dist/{browser/modules/archive → esm/modules/archive/compression}/compress.js +1 -1
  159. package/dist/esm/modules/archive/{crc32.js → compression/crc32.js} +1 -1
  160. package/dist/esm/modules/archive/{deflate-fallback.js → compression/deflate-fallback.js} +1 -1
  161. package/dist/esm/modules/archive/{streaming-compress.browser.js → compression/streaming-compress.browser.js} +3 -3
  162. package/dist/esm/modules/archive/{streaming-compress.js → compression/streaming-compress.js} +2 -2
  163. package/dist/esm/modules/archive/defaults.js +6 -3
  164. package/dist/esm/modules/archive/index.base.js +3 -6
  165. package/dist/esm/modules/archive/index.browser.js +3 -7
  166. package/dist/esm/modules/archive/index.js +3 -5
  167. package/dist/esm/modules/archive/internal/byte-queue.js +407 -0
  168. package/dist/esm/modules/archive/io/archive-sink.js +45 -0
  169. package/dist/esm/modules/archive/io/archive-source.js +100 -0
  170. package/dist/esm/modules/archive/unzip/index.js +164 -0
  171. package/dist/esm/modules/archive/unzip/stream.base.js +1022 -0
  172. package/dist/esm/modules/archive/{parse.browser.js → unzip/stream.browser.js} +371 -110
  173. package/dist/{browser/modules/archive/parse.js → esm/modules/archive/unzip/stream.js} +6 -5
  174. package/dist/{browser/modules/archive → esm/modules/archive/unzip}/zip-parser.js +38 -24
  175. package/dist/esm/modules/archive/utils/async-queue.js +103 -0
  176. package/dist/esm/modules/archive/utils/bytes.js +16 -16
  177. package/dist/esm/modules/archive/utils/compressibility.js +57 -0
  178. package/dist/esm/modules/archive/utils/parse-buffer.js +21 -23
  179. package/dist/esm/modules/archive/utils/pattern-scanner.js +27 -0
  180. package/dist/esm/modules/archive/utils/timestamps.js +62 -1
  181. package/dist/esm/modules/archive/utils/zip-extra-fields.js +26 -14
  182. package/dist/esm/modules/archive/zip/index.js +157 -0
  183. package/dist/esm/modules/archive/{streaming-zip.js → zip/stream.js} +192 -48
  184. package/dist/esm/modules/archive/zip/zip-bytes.js +239 -0
  185. package/dist/{browser/modules/archive → esm/modules/archive/zip}/zip-entry-metadata.js +3 -3
  186. package/dist/esm/modules/archive/zip-spec/zip-records.js +126 -0
  187. package/dist/esm/modules/excel/stream/workbook-reader.browser.js +1 -1
  188. package/dist/esm/modules/excel/stream/workbook-writer.browser.js +1 -1
  189. package/dist/esm/modules/excel/utils/ooxml-validator.js +469 -0
  190. package/dist/esm/modules/excel/worksheet.js +5 -2
  191. package/dist/esm/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.js +13 -1
  192. package/dist/esm/modules/excel/xlsx/xform/drawing/sp-xform.js +112 -0
  193. package/dist/esm/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.js +30 -2
  194. package/dist/esm/modules/excel/xlsx/xform/drawing/vml-drawing-xform.js +11 -0
  195. package/dist/esm/modules/excel/xlsx/xform/sheet/page-setup-xform.js +16 -2
  196. package/dist/esm/modules/excel/xlsx/xform/sheet/worksheet-xform.js +110 -12
  197. package/dist/esm/modules/excel/xlsx/xlsx.browser.js +3 -6
  198. package/dist/esm/modules/excel/xlsx/xlsx.js +1 -1
  199. package/dist/esm/modules/stream/base-transform.js +34 -20
  200. package/dist/esm/modules/stream/chunked-builder.js +4 -4
  201. package/dist/esm/modules/stream/index.browser.js +10 -22
  202. package/dist/esm/modules/stream/index.js +15 -44
  203. package/dist/esm/modules/stream/internal/event-utils.js +40 -0
  204. package/dist/esm/modules/stream/internal/type-guards.js +24 -0
  205. package/dist/esm/modules/stream/pull-stream.js +107 -43
  206. package/dist/esm/modules/stream/shared.js +7 -4
  207. package/dist/esm/modules/stream/streams.browser.js +921 -836
  208. package/dist/esm/modules/stream/streams.js +146 -95
  209. package/dist/esm/modules/stream/utils.js +5 -38
  210. package/dist/iife/THIRD_PARTY_NOTICES.md +0 -31
  211. package/dist/iife/excelts.iife.js +6495 -4440
  212. package/dist/iife/excelts.iife.js.map +1 -1
  213. package/dist/iife/excelts.iife.min.js +103 -31
  214. package/dist/types/index.browser.d.ts +1 -0
  215. package/dist/{browser/modules/archive → types/modules/archive/compression}/compress.browser.d.ts +2 -8
  216. package/dist/types/modules/archive/{streaming-compress.browser.d.ts → compression/streaming-compress.browser.d.ts} +1 -1
  217. package/dist/types/modules/archive/defaults.d.ts +1 -0
  218. package/dist/types/modules/archive/index.base.d.ts +4 -4
  219. package/dist/types/modules/archive/index.browser.d.ts +3 -4
  220. package/dist/types/modules/archive/index.d.ts +3 -4
  221. package/dist/types/modules/archive/internal/byte-queue.d.ts +33 -0
  222. package/dist/types/modules/archive/io/archive-sink.d.ts +8 -0
  223. package/dist/types/modules/archive/io/archive-source.d.ts +6 -0
  224. package/dist/types/modules/archive/unzip/index.d.ts +40 -0
  225. package/dist/types/modules/archive/{parse.base.d.ts → unzip/stream.base.d.ts} +38 -4
  226. package/dist/types/modules/archive/{parse.browser.d.ts → unzip/stream.browser.d.ts} +2 -2
  227. package/dist/types/modules/archive/{parse.d.ts → unzip/stream.d.ts} +3 -3
  228. package/dist/types/modules/archive/{zip-parser.d.ts → unzip/zip-parser.d.ts} +1 -1
  229. package/dist/types/modules/archive/utils/async-queue.d.ts +7 -0
  230. package/dist/types/modules/archive/utils/compressibility.d.ts +10 -0
  231. package/dist/types/modules/archive/utils/pattern-scanner.d.ts +21 -0
  232. package/dist/types/modules/archive/utils/zip-extra-fields.d.ts +1 -1
  233. package/dist/types/modules/archive/zip/index.d.ts +42 -0
  234. package/dist/types/modules/archive/{streaming-zip.d.ts → zip/stream.d.ts} +29 -6
  235. package/dist/types/modules/archive/zip/zip-bytes.d.ts +73 -0
  236. package/dist/types/modules/archive/{zip-entry-metadata.d.ts → zip/zip-entry-metadata.d.ts} +1 -1
  237. package/dist/types/modules/archive/{zip-records.d.ts → zip-spec/zip-records.d.ts} +20 -0
  238. package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +1 -1
  239. package/dist/types/modules/excel/utils/ooxml-validator.d.ts +48 -0
  240. package/dist/types/modules/excel/xlsx/xform/drawing/ctrl-prop-xform.d.ts +1 -0
  241. package/dist/types/modules/excel/xlsx/xform/drawing/sp-xform.d.ts +18 -0
  242. package/dist/types/modules/excel/xlsx/xform/drawing/two-cell-anchor-xform.d.ts +6 -1
  243. package/dist/types/modules/excel/xlsx/xform/sheet/page-setup-xform.d.ts +1 -0
  244. package/dist/types/modules/stream/base-transform.d.ts +3 -0
  245. package/dist/types/modules/stream/buffered-stream.d.ts +2 -12
  246. package/dist/types/modules/stream/index.browser.d.ts +13 -19
  247. package/dist/types/modules/stream/index.d.ts +18 -41
  248. package/dist/types/modules/stream/internal/event-utils.d.ts +17 -0
  249. package/dist/types/modules/stream/internal/type-guards.d.ts +9 -0
  250. package/dist/types/modules/stream/pull-stream.d.ts +5 -6
  251. package/dist/types/modules/stream/shared.d.ts +1 -1
  252. package/dist/types/modules/stream/streams.browser.d.ts +32 -44
  253. package/dist/types/modules/stream/streams.d.ts +4 -20
  254. package/package.json +14 -10
  255. package/dist/browser/modules/archive/byte-queue.d.ts +0 -18
  256. package/dist/browser/modules/archive/byte-queue.js +0 -125
  257. package/dist/browser/modules/archive/parse.base.js +0 -644
  258. package/dist/browser/modules/archive/utils/zip-extra.d.ts +0 -18
  259. package/dist/browser/modules/archive/utils/zip-extra.js +0 -68
  260. package/dist/browser/modules/archive/zip-builder.d.ts +0 -117
  261. package/dist/browser/modules/archive/zip-builder.js +0 -292
  262. package/dist/browser/modules/archive/zip-constants.d.ts +0 -18
  263. package/dist/browser/modules/archive/zip-constants.js +0 -23
  264. package/dist/browser/modules/archive/zip-records.js +0 -84
  265. package/dist/cjs/modules/archive/byte-queue.js +0 -129
  266. package/dist/cjs/modules/archive/parse.base.js +0 -666
  267. package/dist/cjs/modules/archive/utils/zip-extra.js +0 -74
  268. package/dist/cjs/modules/archive/zip-builder.js +0 -297
  269. package/dist/cjs/modules/archive/zip-constants.js +0 -26
  270. package/dist/cjs/modules/archive/zip-records.js +0 -90
  271. package/dist/esm/modules/archive/byte-queue.js +0 -125
  272. package/dist/esm/modules/archive/parse.base.js +0 -644
  273. package/dist/esm/modules/archive/utils/zip-extra.js +0 -68
  274. package/dist/esm/modules/archive/zip-builder.js +0 -292
  275. package/dist/esm/modules/archive/zip-constants.js +0 -23
  276. package/dist/esm/modules/archive/zip-records.js +0 -84
  277. package/dist/types/modules/archive/byte-queue.d.ts +0 -18
  278. package/dist/types/modules/archive/utils/zip-extra.d.ts +0 -18
  279. package/dist/types/modules/archive/zip-builder.d.ts +0 -117
  280. package/dist/types/modules/archive/zip-constants.d.ts +0 -18
  281. /package/dist/browser/modules/archive/{compress.base.d.ts → compression/compress.base.d.ts} +0 -0
  282. /package/dist/browser/modules/archive/{crc32.base.d.ts → compression/crc32.base.d.ts} +0 -0
  283. /package/dist/browser/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  284. /package/dist/browser/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  285. /package/dist/browser/modules/archive/{deflate-fallback.d.ts → compression/deflate-fallback.d.ts} +0 -0
  286. /package/dist/browser/modules/archive/{streaming-compress.base.d.ts → compression/streaming-compress.base.d.ts} +0 -0
  287. /package/dist/browser/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  288. /package/dist/browser/modules/archive/{extract.js → unzip/extract.js} +0 -0
  289. /package/dist/browser/modules/archive/{zip-entry-metadata.d.ts → zip/zip-entry-metadata.d.ts} +0 -0
  290. /package/dist/browser/modules/archive/{zip-entry-info.d.ts → zip-spec/zip-entry-info.d.ts} +0 -0
  291. /package/dist/browser/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  292. /package/dist/cjs/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  293. /package/dist/cjs/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  294. /package/dist/cjs/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  295. /package/dist/cjs/modules/archive/{extract.js → unzip/extract.js} +0 -0
  296. /package/dist/cjs/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  297. /package/dist/esm/modules/archive/{crc32.base.js → compression/crc32.base.js} +0 -0
  298. /package/dist/esm/modules/archive/{crc32.browser.js → compression/crc32.browser.js} +0 -0
  299. /package/dist/esm/modules/archive/{streaming-compress.base.js → compression/streaming-compress.base.js} +0 -0
  300. /package/dist/esm/modules/archive/{extract.js → unzip/extract.js} +0 -0
  301. /package/dist/esm/modules/archive/{zip-entry-info.js → zip-spec/zip-entry-info.js} +0 -0
  302. /package/dist/types/modules/archive/{compress.base.d.ts → compression/compress.base.d.ts} +0 -0
  303. /package/dist/types/modules/archive/{compress.d.ts → compression/compress.d.ts} +0 -0
  304. /package/dist/types/modules/archive/{crc32.base.d.ts → compression/crc32.base.d.ts} +0 -0
  305. /package/dist/types/modules/archive/{crc32.browser.d.ts → compression/crc32.browser.d.ts} +0 -0
  306. /package/dist/types/modules/archive/{crc32.d.ts → compression/crc32.d.ts} +0 -0
  307. /package/dist/types/modules/archive/{deflate-fallback.d.ts → compression/deflate-fallback.d.ts} +0 -0
  308. /package/dist/types/modules/archive/{streaming-compress.base.d.ts → compression/streaming-compress.base.d.ts} +0 -0
  309. /package/dist/types/modules/archive/{streaming-compress.d.ts → compression/streaming-compress.d.ts} +0 -0
  310. /package/dist/types/modules/archive/{extract.d.ts → unzip/extract.d.ts} +0 -0
  311. /package/dist/types/modules/archive/{zip-entry-info.d.ts → zip-spec/zip-entry-info.d.ts} +0 -0
@@ -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
+ }
@@ -8,36 +8,41 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PullStream = void 0;
10
10
  const event_emitter_1 = require("./event-emitter.js");
11
- const shared_1 = require("./shared.js");
11
+ const EMPTY_U8 = new Uint8Array(0);
12
12
  /**
13
13
  * Browser-compatible Pull Stream - Read data from buffer on demand with pattern matching
14
14
  */
15
15
  class PullStream extends event_emitter_1.EventEmitter {
16
16
  constructor(_options = {}) {
17
17
  super();
18
- // Use chunked buffer storage to avoid repeated concat
19
- this._bufferChunks = [];
20
- this._totalLength = 0;
18
+ // Single growable buffer with read/write cursors.
19
+ // IMPORTANT: never mutate bytes that have already been returned via subarray
20
+ // (to keep views stable). When we need to reclaim prefix space, we allocate
21
+ // a new buffer and copy the remaining bytes.
22
+ this._buffer = new Uint8Array(0);
23
+ this._bufferReadIndex = 0;
24
+ this._bufferWriteIndex = 0;
21
25
  this.finished = false;
22
26
  this._destroyed = false;
23
27
  }
24
- // Consolidate chunks into single buffer when needed
28
+ // Maintain legacy protected accessor for subclasses.
29
+ // Returned value is a view of the readable region.
25
30
  get buffer() {
26
- const len = this._bufferChunks.length;
27
- if (len === 0) {
28
- return new Uint8Array(0);
31
+ if (this._bufferReadIndex === this._bufferWriteIndex) {
32
+ return EMPTY_U8;
29
33
  }
30
- if (len === 1) {
31
- return this._bufferChunks[0];
32
- }
33
- // Consolidate multiple chunks
34
- const buf = (0, shared_1.concatUint8Arrays)(this._bufferChunks);
35
- this._bufferChunks = [buf];
36
- return buf;
34
+ return this._buffer.subarray(this._bufferReadIndex, this._bufferWriteIndex);
37
35
  }
38
36
  set buffer(buf) {
39
- this._bufferChunks = buf.length > 0 ? [buf] : [];
40
- this._totalLength = buf.length;
37
+ if (buf.length === 0) {
38
+ this._buffer = EMPTY_U8;
39
+ this._bufferReadIndex = 0;
40
+ this._bufferWriteIndex = 0;
41
+ return;
42
+ }
43
+ this._buffer = buf;
44
+ this._bufferReadIndex = 0;
45
+ this._bufferWriteIndex = buf.length;
41
46
  }
42
47
  /**
43
48
  * Write data to the stream
@@ -47,8 +52,38 @@ class PullStream extends event_emitter_1.EventEmitter {
47
52
  this.emit("error", new Error("Cannot write to destroyed stream"));
48
53
  return false;
49
54
  }
50
- this._bufferChunks.push(chunk);
51
- this._totalLength += chunk.length;
55
+ const chunkLen = chunk.length;
56
+ if (chunkLen === 0) {
57
+ this.emit("chunk");
58
+ return true;
59
+ }
60
+ // Fast path: first write can reuse caller buffer without copy.
61
+ if (this._buffer.length === 0) {
62
+ this._buffer = chunk;
63
+ this._bufferReadIndex = 0;
64
+ this._bufferWriteIndex = chunkLen;
65
+ this.emit("chunk");
66
+ return true;
67
+ }
68
+ const required = this._bufferWriteIndex + chunkLen;
69
+ if (required <= this._buffer.length) {
70
+ this._buffer.set(chunk, this._bufferWriteIndex);
71
+ this._bufferWriteIndex += chunkLen;
72
+ this.emit("chunk");
73
+ return true;
74
+ }
75
+ // Need a new buffer. We keep previously returned views stable by allocating.
76
+ const remaining = this._bufferWriteIndex - this._bufferReadIndex;
77
+ const nextLength = remaining + chunkLen;
78
+ const prevCap = this._buffer.length;
79
+ // Grow exponentially to avoid O(n^2) copying on many small writes.
80
+ const nextCap = Math.max(nextLength, prevCap > 0 ? prevCap * 2 : 1024);
81
+ const next = new Uint8Array(nextCap);
82
+ next.set(this._buffer.subarray(this._bufferReadIndex, this._bufferWriteIndex), 0);
83
+ next.set(chunk, remaining);
84
+ this._buffer = next;
85
+ this._bufferReadIndex = 0;
86
+ this._bufferWriteIndex = nextLength;
52
87
  this.emit("chunk");
53
88
  return true;
54
89
  }
@@ -72,8 +107,9 @@ class PullStream extends event_emitter_1.EventEmitter {
72
107
  return;
73
108
  }
74
109
  this._destroyed = true;
75
- this._bufferChunks = [];
76
- this._totalLength = 0;
110
+ this._buffer = EMPTY_U8;
111
+ this._bufferReadIndex = 0;
112
+ this._bufferWriteIndex = 0;
77
113
  if (error) {
78
114
  this.emit("error", error);
79
115
  }
@@ -98,19 +134,32 @@ class PullStream extends event_emitter_1.EventEmitter {
98
134
  reject(new Error("Stream destroyed"));
99
135
  return;
100
136
  }
101
- // Use _totalLength for fast check before consolidating
102
- if (this._totalLength >= size) {
103
- const buf = this.buffer;
104
- const result = buf.subarray(0, size);
105
- this.buffer = buf.subarray(size);
137
+ if (size === 0) {
138
+ resolve(this._buffer.subarray(this._bufferReadIndex, this._bufferReadIndex));
139
+ return;
140
+ }
141
+ const available = this._bufferWriteIndex - this._bufferReadIndex;
142
+ if (available >= size) {
143
+ const start = this._bufferReadIndex;
144
+ const end = start + size;
145
+ const result = this._buffer.subarray(start, end);
146
+ this._bufferReadIndex = end;
147
+ if (this._bufferReadIndex === this._bufferWriteIndex) {
148
+ this._buffer = EMPTY_U8;
149
+ this._bufferReadIndex = 0;
150
+ this._bufferWriteIndex = 0;
151
+ }
106
152
  resolve(result);
107
153
  return;
108
154
  }
109
155
  if (this.finished) {
110
156
  // Return whatever we have
111
- const result = this.buffer;
112
- this._bufferChunks = [];
113
- this._totalLength = 0;
157
+ const result = this._bufferReadIndex === this._bufferWriteIndex
158
+ ? EMPTY_U8
159
+ : this._buffer.subarray(this._bufferReadIndex, this._bufferWriteIndex);
160
+ this._buffer = EMPTY_U8;
161
+ this._bufferReadIndex = 0;
162
+ this._bufferWriteIndex = 0;
114
163
  resolve(result);
115
164
  return;
116
165
  }
@@ -127,21 +176,36 @@ class PullStream extends event_emitter_1.EventEmitter {
127
176
  reject(new Error("Stream destroyed"));
128
177
  return;
129
178
  }
130
- const buf = this.buffer;
131
- const matchIndex = this._indexOf(buf, pattern);
132
- if (matchIndex !== -1) {
133
- this._match = matchIndex;
134
- const endIndex = includePattern ? matchIndex + pattern.length : matchIndex;
135
- const result = buf.subarray(0, endIndex);
136
- this.buffer = buf.subarray(includePattern ? endIndex : matchIndex + pattern.length);
179
+ // Match empty pattern without consuming anything.
180
+ if (pattern.length === 0) {
181
+ this._match = 0;
182
+ resolve(this._buffer.subarray(this._bufferReadIndex, this._bufferReadIndex));
183
+ return;
184
+ }
185
+ const matchIndexAbs = this._indexOf(this._buffer, this._bufferReadIndex, this._bufferWriteIndex, pattern);
186
+ if (matchIndexAbs !== -1) {
187
+ this._match = matchIndexAbs - this._bufferReadIndex;
188
+ const patternLen = pattern.length;
189
+ const resultEndAbs = includePattern ? matchIndexAbs + patternLen : matchIndexAbs;
190
+ const consumeTo = matchIndexAbs + patternLen;
191
+ const result = this._buffer.subarray(this._bufferReadIndex, resultEndAbs);
192
+ this._bufferReadIndex = consumeTo;
193
+ if (this._bufferReadIndex === this._bufferWriteIndex) {
194
+ this._buffer = EMPTY_U8;
195
+ this._bufferReadIndex = 0;
196
+ this._bufferWriteIndex = 0;
197
+ }
137
198
  resolve(result);
138
199
  return;
139
200
  }
140
201
  if (this.finished) {
141
202
  // Pattern not found, return everything
142
- const result = buf;
143
- this._bufferChunks = [];
144
- this._totalLength = 0;
203
+ const result = this._bufferReadIndex === this._bufferWriteIndex
204
+ ? EMPTY_U8
205
+ : this._buffer.subarray(this._bufferReadIndex, this._bufferWriteIndex);
206
+ this._buffer = EMPTY_U8;
207
+ this._bufferReadIndex = 0;
208
+ this._bufferWriteIndex = 0;
145
209
  resolve(result);
146
210
  return;
147
211
  }
@@ -161,7 +225,7 @@ class PullStream extends event_emitter_1.EventEmitter {
161
225
  * Get remaining buffer length
162
226
  */
163
227
  get length() {
164
- return this._totalLength;
228
+ return this._bufferWriteIndex - this._bufferReadIndex;
165
229
  }
166
230
  /**
167
231
  * Check if stream is finished
@@ -178,13 +242,13 @@ class PullStream extends event_emitter_1.EventEmitter {
178
242
  /**
179
243
  * Find pattern in Uint8Array (like Buffer.indexOf)
180
244
  */
181
- _indexOf(haystack, needle, start = 0) {
245
+ _indexOf(haystack, start, end, needle) {
182
246
  const needleLen = needle.length;
183
247
  if (needleLen === 0) {
184
248
  return start;
185
249
  }
186
- const haystackLen = haystack.length;
187
- if (needleLen > haystackLen) {
250
+ const haystackLen = end;
251
+ if (needleLen > haystackLen - start) {
188
252
  return -1;
189
253
  }
190
254
  const first = needle[0];
@@ -66,7 +66,7 @@ function uint8ArrayToString(arr, encoding) {
66
66
  /**
67
67
  * Concatenate multiple Uint8Arrays efficiently
68
68
  */
69
- function concatUint8Arrays(arrays) {
69
+ function concatUint8Arrays(arrays, totalLength) {
70
70
  const len = arrays.length;
71
71
  if (len === 0) {
72
72
  return new Uint8Array(0);
@@ -75,9 +75,12 @@ function concatUint8Arrays(arrays) {
75
75
  return arrays[0];
76
76
  }
77
77
  // Calculate total length with for loop for better performance
78
- let totalLength = 0;
79
- for (let i = 0; i < len; i++) {
80
- totalLength += arrays[i].length;
78
+ if (totalLength === undefined) {
79
+ let sum = 0;
80
+ for (let i = 0; i < len; i++) {
81
+ sum += arrays[i].length;
82
+ }
83
+ totalLength = sum;
81
84
  }
82
85
  const result = new Uint8Array(totalLength);
83
86
  let offset = 0;