@uploadista/core 0.0.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 (359) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-check.log +231 -0
  3. package/.turbo/turbo-format.log +5 -0
  4. package/LICENSE +21 -0
  5. package/README.md +1120 -0
  6. package/dist/chunk-CUT6urMc.cjs +1 -0
  7. package/dist/debounce-C2SeqcxD.js +2 -0
  8. package/dist/debounce-C2SeqcxD.js.map +1 -0
  9. package/dist/debounce-LZK7yS7Z.cjs +1 -0
  10. package/dist/errors/index.cjs +1 -0
  11. package/dist/errors/index.d.cts +3 -0
  12. package/dist/errors/index.d.ts +3 -0
  13. package/dist/errors/index.d.ts.map +1 -0
  14. package/dist/errors/index.js +2 -0
  15. package/dist/errors/uploadista-error.d.ts +209 -0
  16. package/dist/errors/uploadista-error.d.ts.map +1 -0
  17. package/dist/errors/uploadista-error.js +322 -0
  18. package/dist/errors-8i_aMxOE.js +1 -0
  19. package/dist/errors-CRm1FHHT.cjs +0 -0
  20. package/dist/flow/edge.d.ts +47 -0
  21. package/dist/flow/edge.d.ts.map +1 -0
  22. package/dist/flow/edge.js +40 -0
  23. package/dist/flow/event.d.ts +206 -0
  24. package/dist/flow/event.d.ts.map +1 -0
  25. package/dist/flow/event.js +53 -0
  26. package/dist/flow/flow-server.d.ts +223 -0
  27. package/dist/flow/flow-server.d.ts.map +1 -0
  28. package/dist/flow/flow-server.js +614 -0
  29. package/dist/flow/flow.d.ts +238 -0
  30. package/dist/flow/flow.d.ts.map +1 -0
  31. package/dist/flow/flow.js +629 -0
  32. package/dist/flow/index.cjs +1 -0
  33. package/dist/flow/index.d.cts +6 -0
  34. package/dist/flow/index.d.ts +24 -0
  35. package/dist/flow/index.d.ts.map +1 -0
  36. package/dist/flow/index.js +24 -0
  37. package/dist/flow/node.d.ts +136 -0
  38. package/dist/flow/node.d.ts.map +1 -0
  39. package/dist/flow/node.js +153 -0
  40. package/dist/flow/nodes/index.d.ts +8 -0
  41. package/dist/flow/nodes/index.d.ts.map +1 -0
  42. package/dist/flow/nodes/index.js +7 -0
  43. package/dist/flow/nodes/input-node.d.ts +78 -0
  44. package/dist/flow/nodes/input-node.d.ts.map +1 -0
  45. package/dist/flow/nodes/input-node.js +233 -0
  46. package/dist/flow/nodes/storage-node.d.ts +67 -0
  47. package/dist/flow/nodes/storage-node.d.ts.map +1 -0
  48. package/dist/flow/nodes/storage-node.js +94 -0
  49. package/dist/flow/nodes/streaming-input-node.d.ts +69 -0
  50. package/dist/flow/nodes/streaming-input-node.d.ts.map +1 -0
  51. package/dist/flow/nodes/streaming-input-node.js +156 -0
  52. package/dist/flow/nodes/transform-node.d.ts +85 -0
  53. package/dist/flow/nodes/transform-node.d.ts.map +1 -0
  54. package/dist/flow/nodes/transform-node.js +107 -0
  55. package/dist/flow/parallel-scheduler.d.ts +175 -0
  56. package/dist/flow/parallel-scheduler.d.ts.map +1 -0
  57. package/dist/flow/parallel-scheduler.js +193 -0
  58. package/dist/flow/plugins/credential-provider.d.ts +47 -0
  59. package/dist/flow/plugins/credential-provider.d.ts.map +1 -0
  60. package/dist/flow/plugins/credential-provider.js +24 -0
  61. package/dist/flow/plugins/image-ai-plugin.d.ts +61 -0
  62. package/dist/flow/plugins/image-ai-plugin.d.ts.map +1 -0
  63. package/dist/flow/plugins/image-ai-plugin.js +21 -0
  64. package/dist/flow/plugins/image-plugin.d.ts +52 -0
  65. package/dist/flow/plugins/image-plugin.d.ts.map +1 -0
  66. package/dist/flow/plugins/image-plugin.js +22 -0
  67. package/dist/flow/plugins/types/describe-image-node.d.ts +16 -0
  68. package/dist/flow/plugins/types/describe-image-node.d.ts.map +1 -0
  69. package/dist/flow/plugins/types/describe-image-node.js +9 -0
  70. package/dist/flow/plugins/types/index.d.ts +9 -0
  71. package/dist/flow/plugins/types/index.d.ts.map +1 -0
  72. package/dist/flow/plugins/types/index.js +8 -0
  73. package/dist/flow/plugins/types/optimize-node.d.ts +20 -0
  74. package/dist/flow/plugins/types/optimize-node.d.ts.map +1 -0
  75. package/dist/flow/plugins/types/optimize-node.js +11 -0
  76. package/dist/flow/plugins/types/remove-background-node.d.ts +16 -0
  77. package/dist/flow/plugins/types/remove-background-node.d.ts.map +1 -0
  78. package/dist/flow/plugins/types/remove-background-node.js +9 -0
  79. package/dist/flow/plugins/types/resize-node.d.ts +21 -0
  80. package/dist/flow/plugins/types/resize-node.d.ts.map +1 -0
  81. package/dist/flow/plugins/types/resize-node.js +16 -0
  82. package/dist/flow/plugins/zip-plugin.d.ts +62 -0
  83. package/dist/flow/plugins/zip-plugin.d.ts.map +1 -0
  84. package/dist/flow/plugins/zip-plugin.js +21 -0
  85. package/dist/flow/typed-flow.d.ts +90 -0
  86. package/dist/flow/typed-flow.d.ts.map +1 -0
  87. package/dist/flow/typed-flow.js +59 -0
  88. package/dist/flow/types/flow-file.d.ts +45 -0
  89. package/dist/flow/types/flow-file.d.ts.map +1 -0
  90. package/dist/flow/types/flow-file.js +27 -0
  91. package/dist/flow/types/flow-job.d.ts +118 -0
  92. package/dist/flow/types/flow-job.d.ts.map +1 -0
  93. package/dist/flow/types/flow-job.js +11 -0
  94. package/dist/flow/types/flow-types.d.ts +321 -0
  95. package/dist/flow/types/flow-types.d.ts.map +1 -0
  96. package/dist/flow/types/flow-types.js +52 -0
  97. package/dist/flow/types/index.d.ts +4 -0
  98. package/dist/flow/types/index.d.ts.map +1 -0
  99. package/dist/flow/types/index.js +3 -0
  100. package/dist/flow/types/run-args.d.ts +38 -0
  101. package/dist/flow/types/run-args.d.ts.map +1 -0
  102. package/dist/flow/types/run-args.js +30 -0
  103. package/dist/flow/types/type-validator.d.ts +26 -0
  104. package/dist/flow/types/type-validator.d.ts.map +1 -0
  105. package/dist/flow/types/type-validator.js +134 -0
  106. package/dist/flow/utils/resolve-upload-metadata.d.ts +11 -0
  107. package/dist/flow/utils/resolve-upload-metadata.d.ts.map +1 -0
  108. package/dist/flow/utils/resolve-upload-metadata.js +28 -0
  109. package/dist/flow-2zXnEiWL.cjs +1 -0
  110. package/dist/flow-CRaKy7Vj.js +2 -0
  111. package/dist/flow-CRaKy7Vj.js.map +1 -0
  112. package/dist/generate-id-Dm-Vboxq.d.ts +34 -0
  113. package/dist/generate-id-Dm-Vboxq.d.ts.map +1 -0
  114. package/dist/generate-id-LjJRLD6N.d.cts +34 -0
  115. package/dist/generate-id-LjJRLD6N.d.cts.map +1 -0
  116. package/dist/generate-id-xHp_Z7Cl.cjs +1 -0
  117. package/dist/generate-id-yohS1ZDk.js +2 -0
  118. package/dist/generate-id-yohS1ZDk.js.map +1 -0
  119. package/dist/index-BO8GZlbD.d.cts +1040 -0
  120. package/dist/index-BO8GZlbD.d.cts.map +1 -0
  121. package/dist/index-BoGG5KAY.d.ts +1 -0
  122. package/dist/index-BtBZHVmz.d.cts +1 -0
  123. package/dist/index-D-CoVpkZ.d.ts +1004 -0
  124. package/dist/index-D-CoVpkZ.d.ts.map +1 -0
  125. package/dist/index.cjs +1 -0
  126. package/dist/index.d.cts +6 -0
  127. package/dist/index.d.ts +5 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +5 -0
  130. package/dist/logger/logger.cjs +1 -0
  131. package/dist/logger/logger.d.cts +8 -0
  132. package/dist/logger/logger.d.cts.map +1 -0
  133. package/dist/logger/logger.d.ts +5 -0
  134. package/dist/logger/logger.d.ts.map +1 -0
  135. package/dist/logger/logger.js +10 -0
  136. package/dist/logger/logger.js.map +1 -0
  137. package/dist/semaphore-0ZwjVpyF.js +2 -0
  138. package/dist/semaphore-0ZwjVpyF.js.map +1 -0
  139. package/dist/semaphore-BHprIjFI.d.cts +37 -0
  140. package/dist/semaphore-BHprIjFI.d.cts.map +1 -0
  141. package/dist/semaphore-DThupBkc.d.ts +37 -0
  142. package/dist/semaphore-DThupBkc.d.ts.map +1 -0
  143. package/dist/semaphore-DVrONiAV.cjs +1 -0
  144. package/dist/stream-limiter-CoWKv39w.js +2 -0
  145. package/dist/stream-limiter-CoWKv39w.js.map +1 -0
  146. package/dist/stream-limiter-JgOwmkMa.cjs +1 -0
  147. package/dist/streams/multi-stream.cjs +1 -0
  148. package/dist/streams/multi-stream.d.cts +91 -0
  149. package/dist/streams/multi-stream.d.cts.map +1 -0
  150. package/dist/streams/multi-stream.d.ts +86 -0
  151. package/dist/streams/multi-stream.d.ts.map +1 -0
  152. package/dist/streams/multi-stream.js +149 -0
  153. package/dist/streams/multi-stream.js.map +1 -0
  154. package/dist/streams/stream-limiter.cjs +1 -0
  155. package/dist/streams/stream-limiter.d.cts +36 -0
  156. package/dist/streams/stream-limiter.d.cts.map +1 -0
  157. package/dist/streams/stream-limiter.d.ts +27 -0
  158. package/dist/streams/stream-limiter.d.ts.map +1 -0
  159. package/dist/streams/stream-limiter.js +49 -0
  160. package/dist/streams/stream-splitter.cjs +1 -0
  161. package/dist/streams/stream-splitter.d.cts +68 -0
  162. package/dist/streams/stream-splitter.d.cts.map +1 -0
  163. package/dist/streams/stream-splitter.d.ts +51 -0
  164. package/dist/streams/stream-splitter.d.ts.map +1 -0
  165. package/dist/streams/stream-splitter.js +175 -0
  166. package/dist/streams/stream-splitter.js.map +1 -0
  167. package/dist/types/data-store-registry.d.ts +13 -0
  168. package/dist/types/data-store-registry.d.ts.map +1 -0
  169. package/dist/types/data-store-registry.js +4 -0
  170. package/dist/types/data-store.d.ts +316 -0
  171. package/dist/types/data-store.d.ts.map +1 -0
  172. package/dist/types/data-store.js +157 -0
  173. package/dist/types/event-broadcaster.d.ts +28 -0
  174. package/dist/types/event-broadcaster.d.ts.map +1 -0
  175. package/dist/types/event-broadcaster.js +6 -0
  176. package/dist/types/event-emitter.d.ts +378 -0
  177. package/dist/types/event-emitter.d.ts.map +1 -0
  178. package/dist/types/event-emitter.js +223 -0
  179. package/dist/types/index.cjs +1 -0
  180. package/dist/types/index.d.cts +6 -0
  181. package/dist/types/index.d.ts +10 -0
  182. package/dist/types/index.d.ts.map +1 -0
  183. package/dist/types/index.js +9 -0
  184. package/dist/types/input-file.d.ts +104 -0
  185. package/dist/types/input-file.d.ts.map +1 -0
  186. package/dist/types/input-file.js +27 -0
  187. package/dist/types/kv-store.d.ts +281 -0
  188. package/dist/types/kv-store.d.ts.map +1 -0
  189. package/dist/types/kv-store.js +234 -0
  190. package/dist/types/middleware.d.ts +17 -0
  191. package/dist/types/middleware.d.ts.map +1 -0
  192. package/dist/types/middleware.js +21 -0
  193. package/dist/types/upload-event.d.ts +105 -0
  194. package/dist/types/upload-event.d.ts.map +1 -0
  195. package/dist/types/upload-event.js +71 -0
  196. package/dist/types/upload-file.d.ts +136 -0
  197. package/dist/types/upload-file.d.ts.map +1 -0
  198. package/dist/types/upload-file.js +34 -0
  199. package/dist/types/websocket.d.ts +144 -0
  200. package/dist/types/websocket.d.ts.map +1 -0
  201. package/dist/types/websocket.js +40 -0
  202. package/dist/types-BT-cvi7T.cjs +1 -0
  203. package/dist/types-DhU2j-XF.js +2 -0
  204. package/dist/types-DhU2j-XF.js.map +1 -0
  205. package/dist/upload/convert-to-stream.d.ts +38 -0
  206. package/dist/upload/convert-to-stream.d.ts.map +1 -0
  207. package/dist/upload/convert-to-stream.js +43 -0
  208. package/dist/upload/convert-upload-to-flow-file.d.ts +14 -0
  209. package/dist/upload/convert-upload-to-flow-file.d.ts.map +1 -0
  210. package/dist/upload/convert-upload-to-flow-file.js +21 -0
  211. package/dist/upload/create-upload.d.ts +68 -0
  212. package/dist/upload/create-upload.d.ts.map +1 -0
  213. package/dist/upload/create-upload.js +157 -0
  214. package/dist/upload/index.cjs +1 -0
  215. package/dist/upload/index.d.cts +6 -0
  216. package/dist/upload/index.d.ts +4 -0
  217. package/dist/upload/index.d.ts.map +1 -0
  218. package/dist/upload/index.js +3 -0
  219. package/dist/upload/mime.d.ts +24 -0
  220. package/dist/upload/mime.d.ts.map +1 -0
  221. package/dist/upload/mime.js +351 -0
  222. package/dist/upload/upload-chunk.d.ts +58 -0
  223. package/dist/upload/upload-chunk.d.ts.map +1 -0
  224. package/dist/upload/upload-chunk.js +277 -0
  225. package/dist/upload/upload-server.d.ts +221 -0
  226. package/dist/upload/upload-server.d.ts.map +1 -0
  227. package/dist/upload/upload-server.js +181 -0
  228. package/dist/upload/upload-strategy-negotiator.d.ts +148 -0
  229. package/dist/upload/upload-strategy-negotiator.d.ts.map +1 -0
  230. package/dist/upload/upload-strategy-negotiator.js +217 -0
  231. package/dist/upload/upload-url.d.ts +68 -0
  232. package/dist/upload/upload-url.d.ts.map +1 -0
  233. package/dist/upload/upload-url.js +142 -0
  234. package/dist/upload/write-to-store.d.ts +77 -0
  235. package/dist/upload/write-to-store.d.ts.map +1 -0
  236. package/dist/upload/write-to-store.js +147 -0
  237. package/dist/upload-DLuICjpP.cjs +1 -0
  238. package/dist/upload-DaXO34dE.js +2 -0
  239. package/dist/upload-DaXO34dE.js.map +1 -0
  240. package/dist/uploadista-error-BB-Wdiz9.cjs +22 -0
  241. package/dist/uploadista-error-BVsVxqvz.js +23 -0
  242. package/dist/uploadista-error-BVsVxqvz.js.map +1 -0
  243. package/dist/uploadista-error-CwxYs4EB.d.ts +52 -0
  244. package/dist/uploadista-error-CwxYs4EB.d.ts.map +1 -0
  245. package/dist/uploadista-error-kKlhLRhY.d.cts +52 -0
  246. package/dist/uploadista-error-kKlhLRhY.d.cts.map +1 -0
  247. package/dist/utils/checksum.d.ts +22 -0
  248. package/dist/utils/checksum.d.ts.map +1 -0
  249. package/dist/utils/checksum.js +49 -0
  250. package/dist/utils/debounce.cjs +1 -0
  251. package/dist/utils/debounce.d.cts +38 -0
  252. package/dist/utils/debounce.d.cts.map +1 -0
  253. package/dist/utils/debounce.d.ts +36 -0
  254. package/dist/utils/debounce.d.ts.map +1 -0
  255. package/dist/utils/debounce.js +73 -0
  256. package/dist/utils/generate-id.cjs +1 -0
  257. package/dist/utils/generate-id.d.cts +2 -0
  258. package/dist/utils/generate-id.d.ts +32 -0
  259. package/dist/utils/generate-id.d.ts.map +1 -0
  260. package/dist/utils/generate-id.js +23 -0
  261. package/dist/utils/md5.cjs +1 -0
  262. package/dist/utils/md5.d.cts +73 -0
  263. package/dist/utils/md5.d.cts.map +1 -0
  264. package/dist/utils/md5.d.ts +71 -0
  265. package/dist/utils/md5.d.ts.map +1 -0
  266. package/dist/utils/md5.js +417 -0
  267. package/dist/utils/md5.js.map +1 -0
  268. package/dist/utils/once.cjs +1 -0
  269. package/dist/utils/once.d.cts +25 -0
  270. package/dist/utils/once.d.cts.map +1 -0
  271. package/dist/utils/once.d.ts +21 -0
  272. package/dist/utils/once.d.ts.map +1 -0
  273. package/dist/utils/once.js +54 -0
  274. package/dist/utils/once.js.map +1 -0
  275. package/dist/utils/semaphore.cjs +1 -0
  276. package/dist/utils/semaphore.d.cts +3 -0
  277. package/dist/utils/semaphore.d.ts +78 -0
  278. package/dist/utils/semaphore.d.ts.map +1 -0
  279. package/dist/utils/semaphore.js +134 -0
  280. package/dist/utils/throttle.cjs +1 -0
  281. package/dist/utils/throttle.d.cts +24 -0
  282. package/dist/utils/throttle.d.cts.map +1 -0
  283. package/dist/utils/throttle.d.ts +18 -0
  284. package/dist/utils/throttle.d.ts.map +1 -0
  285. package/dist/utils/throttle.js +20 -0
  286. package/dist/utils/throttle.js.map +1 -0
  287. package/docs/PARALLEL_EXECUTION.md +206 -0
  288. package/docs/PARALLEL_EXECUTION_QUICKSTART.md +142 -0
  289. package/docs/PARALLEL_EXECUTION_REFACTOR.md +184 -0
  290. package/package.json +80 -0
  291. package/src/errors/__tests__/uploadista-error.test.ts +251 -0
  292. package/src/errors/index.ts +2 -0
  293. package/src/errors/uploadista-error.ts +394 -0
  294. package/src/flow/README.md +352 -0
  295. package/src/flow/edge.test.ts +146 -0
  296. package/src/flow/edge.ts +60 -0
  297. package/src/flow/event.ts +229 -0
  298. package/src/flow/flow-server.ts +1089 -0
  299. package/src/flow/flow.ts +1050 -0
  300. package/src/flow/index.ts +28 -0
  301. package/src/flow/node.ts +249 -0
  302. package/src/flow/nodes/index.ts +8 -0
  303. package/src/flow/nodes/input-node.ts +296 -0
  304. package/src/flow/nodes/storage-node.ts +128 -0
  305. package/src/flow/nodes/transform-node.ts +154 -0
  306. package/src/flow/parallel-scheduler.ts +259 -0
  307. package/src/flow/plugins/credential-provider.ts +48 -0
  308. package/src/flow/plugins/image-ai-plugin.ts +66 -0
  309. package/src/flow/plugins/image-plugin.ts +60 -0
  310. package/src/flow/plugins/types/describe-image-node.ts +16 -0
  311. package/src/flow/plugins/types/index.ts +9 -0
  312. package/src/flow/plugins/types/optimize-node.ts +18 -0
  313. package/src/flow/plugins/types/remove-background-node.ts +18 -0
  314. package/src/flow/plugins/types/resize-node.ts +26 -0
  315. package/src/flow/plugins/zip-plugin.ts +69 -0
  316. package/src/flow/typed-flow.ts +279 -0
  317. package/src/flow/types/flow-file.ts +51 -0
  318. package/src/flow/types/flow-job.ts +138 -0
  319. package/src/flow/types/flow-types.ts +353 -0
  320. package/src/flow/types/index.ts +6 -0
  321. package/src/flow/types/run-args.ts +40 -0
  322. package/src/flow/types/type-validator.ts +204 -0
  323. package/src/flow/utils/resolve-upload-metadata.ts +48 -0
  324. package/src/index.ts +5 -0
  325. package/src/logger/logger.ts +14 -0
  326. package/src/streams/stream-limiter.test.ts +150 -0
  327. package/src/streams/stream-limiter.ts +75 -0
  328. package/src/types/data-store.ts +427 -0
  329. package/src/types/event-broadcaster.ts +39 -0
  330. package/src/types/event-emitter.ts +349 -0
  331. package/src/types/index.ts +9 -0
  332. package/src/types/input-file.ts +107 -0
  333. package/src/types/kv-store.ts +375 -0
  334. package/src/types/middleware.ts +54 -0
  335. package/src/types/upload-event.ts +75 -0
  336. package/src/types/upload-file.ts +139 -0
  337. package/src/types/websocket.ts +65 -0
  338. package/src/upload/convert-to-stream.ts +48 -0
  339. package/src/upload/create-upload.ts +214 -0
  340. package/src/upload/index.ts +3 -0
  341. package/src/upload/mime.ts +436 -0
  342. package/src/upload/upload-chunk.ts +364 -0
  343. package/src/upload/upload-server.ts +390 -0
  344. package/src/upload/upload-strategy-negotiator.ts +316 -0
  345. package/src/upload/upload-url.ts +173 -0
  346. package/src/upload/write-to-store.ts +211 -0
  347. package/src/utils/checksum.ts +61 -0
  348. package/src/utils/debounce.test.ts +126 -0
  349. package/src/utils/debounce.ts +89 -0
  350. package/src/utils/generate-id.ts +35 -0
  351. package/src/utils/md5.ts +475 -0
  352. package/src/utils/once.test.ts +83 -0
  353. package/src/utils/once.ts +63 -0
  354. package/src/utils/throttle.test.ts +101 -0
  355. package/src/utils/throttle.ts +29 -0
  356. package/tsconfig.json +20 -0
  357. package/tsconfig.tsbuildinfo +1 -0
  358. package/tsdown.config.ts +25 -0
  359. package/vitest.config.ts +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D-CoVpkZ.d.ts","names":[],"sources":["../src/flow/node.ts","../src/flow/event.ts","../src/flow/types/flow-types.ts","../src/flow/edge.ts","../src/flow/flow.ts","../src/types/upload-file.ts","../src/types/data-store.ts","../src/types/data-store-registry.ts","../src/types/upload-event.ts","../src/types/websocket.ts","../src/types/event-emitter.ts","../src/types/input-file.ts","../src/types/kv-store.ts","../src/types/middleware.ts","../src/flow/types/flow-job.ts","../src/flow/flow-server.ts","../src/flow/nodes/input-node.ts","../src/upload/mime.ts","../src/upload/upload-server.ts","../src/upload/upload-strategy-negotiator.ts","../src/flow/nodes/storage-node.ts","../src/flow/nodes/streaming-input-node.ts","../src/flow/parallel-scheduler.ts","../src/flow/plugins/types/optimize-node.ts","../src/flow/plugins/types/resize-node.ts","../src/flow/plugins/image-plugin.ts","../src/flow/types/flow-file.ts","../src/flow/types/run-args.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.cjs ADDED
@@ -0,0 +1 @@
1
+ const e=require(`./uploadista-error-BB-Wdiz9.cjs`);require(`./errors-CRm1FHHT.cjs`);const t=require(`./flow-2zXnEiWL.cjs`),n=require(`./types-BT-cvi7T.cjs`),r=require(`./upload-DLuICjpP.cjs`);require(`./generate-id-xHp_Z7Cl.cjs`),require(`./stream-limiter-JgOwmkMa.cjs`),require(`./semaphore-DVrONiAV.cjs`),exports.BaseEventEmitterService=n.BaseEventEmitterService,exports.BaseKvStoreService=n.BaseKvStoreService,exports.BufferedUploadFileDataStore=n.BufferedUploadFileDataStore,exports.DataStoreRegistry=n.DataStoreRegistry,exports.ERRORS=e.ERROR_CATALOG,exports.ERROR_CATALOG=e.ERROR_CATALOG,exports.EventType=t.EventType,exports.FlowEventEmitter=n.FlowEventEmitter,exports.FlowJobKVStore=n.FlowJobKVStore,exports.FlowProvider=t.FlowProvider,exports.FlowServer=t.FlowServer,exports.ImagePlugin=t.ImagePlugin,exports.MiddlewareService=n.MiddlewareService,exports.MiddlewareServiceLive=n.MiddlewareServiceLive,exports.NodeType=t.NodeType,exports.ParallelScheduler=t.ParallelScheduler,exports.TypedEventEmitter=n.TypedEventEmitter,exports.TypedKvStore=n.TypedKvStore,exports.UploadEventEmitter=n.UploadEventEmitter,exports.UploadEventType=n.UploadEventType,exports.UploadFileDataStore=n.UploadFileDataStore,exports.UploadFileDataStores=n.UploadFileDataStores,exports.UploadFileKVStore=n.UploadFileKVStore,exports.UploadServer=r.UploadServer,exports.UploadStrategyNegotiator=r.UploadStrategyNegotiator,exports.UploadistaError=e.UploadistaError,exports.completeNodeExecution=t.completeNodeExecution,exports.createFlow=t.createFlow,exports.createFlowEdge=t.createFlowEdge,exports.createFlowNode=t.createFlowNode,exports.createFlowServer=t.createFlowServer,exports.createInputNode=t.createInputNode,exports.createStorageNode=t.createStorageNode,exports.createStreamingInputNode=t.createStreamingInputNode,exports.createUploadServer=r.createUploadServer,exports.detectMimeType=r.detectMimeType,exports.eventToMessageSerializer=n.eventToMessageSerializer,exports.flowDataSchema=t.flowDataSchema,exports.flowEventEmitter=n.flowEventEmitter,exports.flowFileBatchSchema=t.flowFileBatchSchema,exports.flowFileSchema=t.flowFileSchema,exports.flowJobKvStore=n.flowJobKvStore,exports.flowServer=t.flowServer,exports.getFlowData=t.getFlowData,exports.getNodeData=t.getNodeData,exports.httpFailureEffect=e.httpFailureEffect,exports.inputFileSchema=n.inputFileSchema,exports.isFlowFile=t.isFlowFile,exports.isUploadistaError=e.isUploadistaError,exports.jsonSerializer=n.jsonSerializer,exports.optimizeParamsSchema=t.optimizeParamsSchema,exports.resizeParamsSchema=t.resizeParamsSchema,exports.runArgsSchema=t.runArgsSchema,exports.storageParamsSchema=t.storageParamsSchema,exports.uploadEventEmitter=n.uploadEventEmitter,exports.uploadEventSchema=n.uploadEventSchema,exports.uploadFileKvStore=n.uploadFileKvStore,exports.uploadFileSchema=n.uploadFileSchema,exports.uploadServer=r.uploadServer,exports.waitingNodeExecution=t.waitingNodeExecution,exports.webSocketMessageSchema=n.webSocketMessageSchema;
@@ -0,0 +1,6 @@
1
+ import { ERROR_CATALOG, UploadistaError, UploadistaErrorCode, httpFailureEffect, isUploadistaError } from "./uploadista-error-kKlhLRhY.cjs";
2
+ import "./index-BtBZHVmz.cjs";
3
+ import { BaseEventEmitter, BaseEventEmitterService, BaseKvStore, BaseKvStoreService, BufferedUploadFileDataStore, ConditionField, ConditionOperator, ConditionValue, DataStore, DataStoreCapabilities, DataStoreRegistry, DataStoreWriteOptions, EventEmitter, EventType, ExecutionLevel, Flow, FlowCondition, FlowConfig, FlowData, FlowEdge, FlowEvent, FlowEventEmitter, FlowEventFlowEnd, FlowEventFlowStart, FlowEventJobEnd, FlowEventJobStart, FlowEventNodeEnd, FlowEventNodeError, FlowEventNodeResponse, FlowEventNodeStart, FlowExecutionContext, FlowExecutionResult, FlowFile, FlowFileBatch, FlowFileData, FlowJob, FlowJobKVStore, FlowJobStatus, FlowJobTask, FlowJobTaskStatus, FlowNode, FlowNodeData, FlowProvider, FlowProviderShape, FlowServer, FlowServerLayer, FlowServerOptions, FlowServerShape, ImagePlugin, ImagePluginShape, InputFile, KvStore, Middleware, MiddlewareContext, MiddlewareNext, MiddlewareService, MiddlewareServiceLive, NegotiatedStrategy, NodeConnectionValidator, NodeExecutionResult, NodeType, NodeTypeMap, OptimizeParams, ParallelScheduler, ParallelSchedulerConfig, ResizeParams, RunArgs, StorageParams, TypeCompatibilityChecker, TypedEventEmitter, TypedKvStore, UploadEvent, UploadEventEmitter, UploadEventType, UploadFile, UploadFileDataStore, UploadFileDataStores, UploadFileDataStoresShape, UploadFileKVStore, UploadServer, UploadServerOptions, UploadServerShape, UploadStrategy, UploadStrategyNegotiator, UploadStrategyOptions, WebSocketConnection, WebSocketMessage, completeNodeExecution, createFlow, createFlowEdge, createFlowNode, createFlowServer, createInputNode, createStorageNode, createStreamingInputNode, createUploadServer, detectMimeType, eventToMessageSerializer, flowDataSchema, flowEventEmitter, flowFileBatchSchema, flowFileSchema, flowJobKvStore, flowServer, getFlowData, getNodeData, inputFileSchema, isFlowFile, jsonSerializer, optimizeParamsSchema, resizeParamsSchema, runArgsSchema, storageParamsSchema, uploadEventEmitter, uploadEventSchema, uploadFileKvStore, uploadFileSchema, uploadServer, waitingNodeExecution, webSocketMessageSchema } from "./index-BO8GZlbD.cjs";
4
+ import "./generate-id-LjJRLD6N.cjs";
5
+ import "./semaphore-BHprIjFI.cjs";
6
+ export { BaseEventEmitter, BaseEventEmitterService, BaseKvStore, BaseKvStoreService, BufferedUploadFileDataStore, ConditionField, ConditionOperator, ConditionValue, DataStore, DataStoreCapabilities, DataStoreRegistry, DataStoreWriteOptions, ERROR_CATALOG as ERRORS, ERROR_CATALOG, EventEmitter, EventType, ExecutionLevel, Flow, FlowCondition, FlowConfig, FlowData, FlowEdge, FlowEvent, FlowEventEmitter, FlowEventFlowEnd, FlowEventFlowStart, FlowEventJobEnd, FlowEventJobStart, FlowEventNodeEnd, FlowEventNodeError, FlowEventNodeResponse, FlowEventNodeStart, FlowExecutionContext, FlowExecutionResult, FlowFile, FlowFileBatch, FlowFileData, FlowJob, FlowJobKVStore, FlowJobStatus, FlowJobTask, FlowJobTaskStatus, FlowNode, FlowNodeData, FlowProvider, FlowProviderShape, FlowServer, FlowServerLayer, FlowServerOptions, FlowServerShape, ImagePlugin, ImagePluginShape, InputFile, KvStore, Middleware, MiddlewareContext, MiddlewareNext, MiddlewareService, MiddlewareServiceLive, NegotiatedStrategy, NodeConnectionValidator, NodeExecutionResult, NodeType, NodeTypeMap, OptimizeParams, ParallelScheduler, ParallelSchedulerConfig, ResizeParams, RunArgs, StorageParams, TypeCompatibilityChecker, TypedEventEmitter, TypedKvStore, UploadEvent, UploadEventEmitter, UploadEventType, UploadFile, UploadFileDataStore, UploadFileDataStores, UploadFileDataStoresShape, UploadFileKVStore, UploadServer, UploadServerOptions, UploadServerShape, UploadStrategy, UploadStrategyNegotiator, UploadStrategyOptions, UploadistaError, UploadistaErrorCode, WebSocketConnection, WebSocketMessage, completeNodeExecution, createFlow, createFlowEdge, createFlowNode, createFlowServer, createInputNode, createStorageNode, createStreamingInputNode, createUploadServer, detectMimeType, eventToMessageSerializer, flowDataSchema, flowEventEmitter, flowFileBatchSchema, flowFileSchema, flowJobKvStore, flowServer, getFlowData, getNodeData, httpFailureEffect, inputFileSchema, isFlowFile, isUploadistaError, jsonSerializer, optimizeParamsSchema, resizeParamsSchema, runArgsSchema, storageParamsSchema, uploadEventEmitter, uploadEventSchema, uploadFileKvStore, uploadFileSchema, uploadServer, waitingNodeExecution, webSocketMessageSchema };
@@ -0,0 +1,5 @@
1
+ export * from "./errors/index.js";
2
+ export * from "./flow/index.js";
3
+ export * from "./types/index.js";
4
+ export * from "./upload/index.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ // Main exports for @uploadista/core
2
+ export * from "./errors/index.js";
3
+ export * from "./flow/index.js";
4
+ export * from "./types/index.js";
5
+ export * from "./upload/index.js";
@@ -0,0 +1 @@
1
+ function e(e){return{log:t=>{e&&console.log(t)}}}exports.createLogger=e;
@@ -0,0 +1,8 @@
1
+ //#region src/logger/logger.d.ts
2
+ type Logger = {
3
+ log: (message: string) => void;
4
+ };
5
+ declare function createLogger(enabled: boolean): Logger;
6
+ //#endregion
7
+ export { Logger, createLogger };
8
+ //# sourceMappingURL=logger.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.cts","names":[],"sources":["../../src/logger/logger.ts"],"sourcesContent":[],"mappings":";KAAY,MAAA;EAAA,GAAA,EAAA,CAAA,OAAM,EAAA,MAAA,EAAA,GAAA,IAAA;AAIlB,CAAA;iBAAgB,YAAA,oBAAgC"}
@@ -0,0 +1,5 @@
1
+ export type Logger = {
2
+ log: (message: string) => void;
3
+ };
4
+ export declare function createLogger(enabled: boolean): Logger;
5
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CASrD"}
@@ -0,0 +1,10 @@
1
+ export function createLogger(enabled) {
2
+ return {
3
+ log: (message) => {
4
+ if (enabled) {
5
+ // eslint-disable-next-line no-console
6
+ console.log(message);
7
+ }
8
+ },
9
+ };
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":[],"sources":["../../src/logger/logger.ts"],"sourcesContent":["export type Logger = {\n log: (message: string) => void;\n};\n\nexport function createLogger(enabled: boolean): Logger {\n return {\n log: (message: string) => {\n if (enabled) {\n // eslint-disable-next-line no-console\n console.log(message);\n }\n },\n };\n}\n"],"mappings":"AAIA,SAAgB,EAAa,EAA0B,CACrD,MAAO,CACL,IAAM,GAAoB,CACpB,GAEF,QAAQ,IAAI,EAAQ,EAGzB"}
@@ -0,0 +1,2 @@
1
+ import{Effect as e}from"effect";function t(e){let t=!1;async function n(){t||(t=!0,await e())}return{release:n}}function n(e){let n=e,r=[];function i(){if(n>0)return Promise.resolve(a());let e={};return e.promise=new Promise(t=>{e.resolve=t}),r.push(e),e.promise}function a(){return n--,t(async()=>{if(n++,r.length>0){let e=r.shift();e&&(e.resolve?.(a()),await e.promise)}})}return{acquire:i}}const r={make:t=>e.acquireRelease(e.sync(()=>{let n=t,r=[];return{acquire:t=>e.gen(function*(){return yield*e.async(t=>{n>0?(n--,t(e.void)):r.push(r=>{n--,t(e.void)})}),yield*e.ensuring(t,e.sync(()=>{if(n++,r.length>0){let e=r.shift();e&&e(()=>{})}}))})}}),()=>e.void),legacy:e=>n(e)};export{r as SemaphoreEffect,t as permit,n as semaphore};
2
+ //# sourceMappingURL=semaphore-0ZwjVpyF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore-0ZwjVpyF.js","names":["deferreds: Deferred[]","deferred: Deferred","queue: Array<(permit: () => void) => void>"],"sources":["../src/utils/semaphore.ts"],"sourcesContent":["import { Effect, type Scope } from \"effect\";\nimport type { UploadistaError } from \"../errors/uploadista-error\";\n\ntype ReleaseCallback = () => Promise<void>;\n\nexport function permit(onRelease: ReleaseCallback) {\n let isReleased = false;\n\n async function release() {\n if (!isReleased) {\n isReleased = true;\n await onRelease();\n }\n }\n\n return {\n release,\n };\n}\n\nexport type Permit = ReturnType<typeof permit>;\n\ntype Deferred = {\n resolve?: (permit: Permit) => void;\n promise?: Promise<Permit>;\n};\n\nexport function semaphore(count: number) {\n let availablePermits = count;\n const deferreds: Deferred[] = [];\n\n function acquire(): Promise<Permit> {\n if (availablePermits > 0) {\n return Promise.resolve(createPermit());\n }\n\n const deferred: Deferred = {};\n deferred.promise = new Promise((resolve) => {\n deferred.resolve = resolve;\n });\n deferreds.push(deferred);\n return deferred.promise;\n }\n\n function createPermit(): Permit {\n availablePermits--;\n\n return permit(async () => {\n availablePermits++;\n\n if (deferreds.length > 0) {\n const deferred = deferreds.shift();\n if (deferred) {\n deferred.resolve?.(createPermit());\n await deferred.promise;\n }\n }\n });\n }\n\n return {\n acquire,\n };\n}\n\nexport type Semaphore = ReturnType<typeof semaphore>;\n\n/**\n * Effect-based semaphore utilities\n */\nexport const SemaphoreEffect = {\n /**\n * Creates an Effect-based semaphore with resource management\n * @param count - Number of permits available\n * @returns Effect semaphore with automatic resource cleanup\n */\n make: (\n count: number,\n ): Effect.Effect<\n {\n acquire: <A, E, R>(\n effect: Effect.Effect<A, E, R>,\n ) => Effect.Effect<A, E | UploadistaError, R>;\n },\n never,\n Scope.Scope\n > =>\n Effect.acquireRelease(\n Effect.sync(() => {\n let availablePermits = count;\n const queue: Array<(permit: () => void) => void> = [];\n\n const acquire = <A, E, R>(effect: Effect.Effect<A, E, R>) =>\n Effect.gen(function* () {\n // Wait for a permit\n yield* Effect.async<void, UploadistaError>((resume) => {\n if (availablePermits > 0) {\n availablePermits--;\n resume(Effect.void);\n } else {\n queue.push((releasePermit) => {\n availablePermits--;\n resume(Effect.void);\n });\n }\n });\n\n // Execute the effect with cleanup\n return yield* Effect.ensuring(\n effect,\n Effect.sync(() => {\n availablePermits++;\n if (queue.length > 0) {\n const nextWaiting = queue.shift();\n if (nextWaiting) {\n nextWaiting(() => {});\n }\n }\n }),\n );\n });\n\n return { acquire };\n }),\n () => Effect.void, // Cleanup function\n ),\n\n /**\n * Creates a legacy semaphore wrapper\n * @param count - Number of permits\n * @returns Legacy semaphore instance\n */\n legacy: (count: number) => semaphore(count),\n};\n"],"mappings":"gCAKA,SAAgB,EAAO,EAA4B,CACjD,IAAI,EAAa,GAEjB,eAAe,GAAU,CAClB,IACH,EAAa,GACb,MAAM,GAAW,EAIrB,MAAO,CACL,UACD,CAUH,SAAgB,EAAU,EAAe,CACvC,IAAI,EAAmB,EACjBA,EAAwB,EAAE,CAEhC,SAAS,GAA2B,CAClC,GAAI,EAAmB,EACrB,OAAO,QAAQ,QAAQ,GAAc,CAAC,CAGxC,IAAMC,EAAqB,EAAE,CAK7B,MAJA,GAAS,QAAU,IAAI,QAAS,GAAY,CAC1C,EAAS,QAAU,GACnB,CACF,EAAU,KAAK,EAAS,CACjB,EAAS,QAGlB,SAAS,GAAuB,CAG9B,MAFA,KAEO,EAAO,SAAY,CAGxB,GAFA,IAEI,EAAU,OAAS,EAAG,CACxB,IAAM,EAAW,EAAU,OAAO,CAC9B,IACF,EAAS,UAAU,GAAc,CAAC,CAClC,MAAM,EAAS,WAGnB,CAGJ,MAAO,CACL,UACD,CAQH,MAAa,EAAkB,CAM7B,KACE,GAUA,EAAO,eACL,EAAO,SAAW,CAChB,IAAI,EAAmB,EACjBC,EAA6C,EAAE,CAgCrD,MAAO,CAAE,QA9BiB,GACxB,EAAO,IAAI,WAAa,CAetB,OAbA,MAAO,EAAO,MAA8B,GAAW,CACjD,EAAmB,GACrB,IACA,EAAO,EAAO,KAAK,EAEnB,EAAM,KAAM,GAAkB,CAC5B,IACA,EAAO,EAAO,KAAK,EACnB,EAEJ,CAGK,MAAO,EAAO,SACnB,EACA,EAAO,SAAW,CAEhB,GADA,IACI,EAAM,OAAS,EAAG,CACpB,IAAM,EAAc,EAAM,OAAO,CAC7B,GACF,MAAkB,GAAG,GAGzB,CACH,EACD,CAEc,EAClB,KACI,EAAO,KACd,CAOH,OAAS,GAAkB,EAAU,EAAM,CAC5C"}
@@ -0,0 +1,37 @@
1
+ import { UploadistaError } from "./uploadista-error-kKlhLRhY.cjs";
2
+ import { Effect, Scope } from "effect";
3
+
4
+ //#region src/utils/semaphore.d.ts
5
+ type ReleaseCallback = () => Promise<void>;
6
+ declare function permit(onRelease: ReleaseCallback): {
7
+ release: () => Promise<void>;
8
+ };
9
+ type Permit = ReturnType<typeof permit>;
10
+ declare function semaphore(count: number): {
11
+ acquire: () => Promise<Permit>;
12
+ };
13
+ type Semaphore = ReturnType<typeof semaphore>;
14
+ /**
15
+ * Effect-based semaphore utilities
16
+ */
17
+ declare const SemaphoreEffect: {
18
+ /**
19
+ * Creates an Effect-based semaphore with resource management
20
+ * @param count - Number of permits available
21
+ * @returns Effect semaphore with automatic resource cleanup
22
+ */
23
+ make: (count: number) => Effect.Effect<{
24
+ acquire: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | UploadistaError, R>;
25
+ }, never, Scope.Scope>;
26
+ /**
27
+ * Creates a legacy semaphore wrapper
28
+ * @param count - Number of permits
29
+ * @returns Legacy semaphore instance
30
+ */
31
+ legacy: (count: number) => {
32
+ acquire: () => Promise<Permit>;
33
+ };
34
+ };
35
+ //#endregion
36
+ export { Permit, Semaphore, SemaphoreEffect, permit, semaphore };
37
+ //# sourceMappingURL=semaphore-BHprIjFI.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore-BHprIjFI.d.cts","names":[],"sources":["../src/utils/semaphore.ts"],"sourcesContent":[],"mappings":";;;;KAGK,eAAA,SAAwB;iBAEb,MAAA,YAAkB;EAF7B,OAAA,EAAA,GAAA,UAAe,CAAA,IAAA,CAAA;AAEpB,CAAA;AAAsB,KAeV,MAAA,GAAS,UAfC,CAAA,OAeiB,MAfjB,CAAA;AAAY,iBAsBlB,SAAA,CAtBkB,KAAA,EAAA,MAAA,CAAA,EAAA;iBA0BZ,QAAQ;;AAXlB,KA6CA,SAAA,GAAY,UA7CN,CAAA,OA6CwB,SA7CxB,CAAA;;;;AAAa,cAkDlB,eAlDkB,EAAA;EAOf;;;;;EAsCJ,IAAA,EAAA,CAAA,KAAS,EAAA,MAAA,EAAA,GAahB,MAAA,CAAO,MAbS,CAAA;IAAA,OAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAgBL,MAAA,CAAO,MAhBF,CAgBS,CAhBT,EAgBY,CAhBZ,EAgBe,CAhBf,CAAA,EAAA,GAiBV,MAAA,CAAO,MAjBG,CAiBI,CAjBJ,EAiBO,CAjBP,GAiBW,eAjBX,EAiB4B,CAjB5B,CAAA;KAAqB,KAAA,EAoBtC,KAAA,CAAM,KApBgC,CAAA;;;AAK1C;;;QAWiC,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA;IAAG,OAAA,EAAA,GAAA,GAlDd,OAkDc,CAlDN,MAkDM,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { UploadistaError } from "./uploadista-error-CwxYs4EB.js";
2
+ import { Effect, Scope } from "effect";
3
+
4
+ //#region src/utils/semaphore.d.ts
5
+ type ReleaseCallback = () => Promise<void>;
6
+ declare function permit(onRelease: ReleaseCallback): {
7
+ release: () => Promise<void>;
8
+ };
9
+ type Permit = ReturnType<typeof permit>;
10
+ declare function semaphore(count: number): {
11
+ acquire: () => Promise<Permit>;
12
+ };
13
+ type Semaphore = ReturnType<typeof semaphore>;
14
+ /**
15
+ * Effect-based semaphore utilities
16
+ */
17
+ declare const SemaphoreEffect: {
18
+ /**
19
+ * Creates an Effect-based semaphore with resource management
20
+ * @param count - Number of permits available
21
+ * @returns Effect semaphore with automatic resource cleanup
22
+ */
23
+ make: (count: number) => Effect.Effect<{
24
+ acquire: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | UploadistaError, R>;
25
+ }, never, Scope.Scope>;
26
+ /**
27
+ * Creates a legacy semaphore wrapper
28
+ * @param count - Number of permits
29
+ * @returns Legacy semaphore instance
30
+ */
31
+ legacy: (count: number) => {
32
+ acquire: () => Promise<Permit>;
33
+ };
34
+ };
35
+ //#endregion
36
+ export { Permit, Semaphore, SemaphoreEffect, permit, semaphore };
37
+ //# sourceMappingURL=semaphore-DThupBkc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore-DThupBkc.d.ts","names":[],"sources":["../src/utils/semaphore.ts"],"sourcesContent":[],"mappings":";;;;KAGK,eAAA,SAAwB;iBAEb,MAAA,YAAkB;EAF7B,OAAA,EAAA,GAAA,UAAe,CAAA,IAAA,CAAA;AAEpB,CAAA;AAAsB,KAeV,MAAA,GAAS,UAfC,CAAA,OAeiB,MAfjB,CAAA;AAAY,iBAsBlB,SAAA,CAtBkB,KAAA,EAAA,MAAA,CAAA,EAAA;iBA0BZ,QAAQ;;AAXlB,KA6CA,SAAA,GAAY,UA7CN,CAAA,OA6CwB,SA7CxB,CAAA;;;;AAAa,cAkDlB,eAlDkB,EAAA;EAOf;;;;;EAsCJ,IAAA,EAAA,CAAA,KAAS,EAAA,MAAA,EAAA,GAahB,MAAA,CAAO,MAbS,CAAA;IAAA,OAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAgBL,MAAA,CAAO,MAhBF,CAgBS,CAhBT,EAgBY,CAhBZ,EAgBe,CAhBf,CAAA,EAAA,GAiBV,MAAA,CAAO,MAjBG,CAiBI,CAjBJ,EAiBO,CAjBP,GAiBW,eAjBX,EAiB4B,CAjB5B,CAAA;KAAqB,KAAA,EAoBtC,KAAA,CAAM,KApBgC,CAAA;;;AAK1C;;;QAWiC,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA;IAAG,OAAA,EAAA,GAAA,GAlDd,OAkDc,CAlDN,MAkDM,CAAA"}
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`);let t=require(`effect`);t=e.__toESM(t);function n(e){let t=!1;async function n(){t||(t=!0,await e())}return{release:n}}function r(e){let t=e,r=[];function i(){if(t>0)return Promise.resolve(a());let e={};return e.promise=new Promise(t=>{e.resolve=t}),r.push(e),e.promise}function a(){return t--,n(async()=>{if(t++,r.length>0){let e=r.shift();e&&(e.resolve?.(a()),await e.promise)}})}return{acquire:i}}const i={make:e=>t.Effect.acquireRelease(t.Effect.sync(()=>{let n=e,r=[];return{acquire:e=>t.Effect.gen(function*(){return yield*t.Effect.async(e=>{n>0?(n--,e(t.Effect.void)):r.push(r=>{n--,e(t.Effect.void)})}),yield*t.Effect.ensuring(e,t.Effect.sync(()=>{if(n++,r.length>0){let e=r.shift();e&&e(()=>{})}}))})}}),()=>t.Effect.void),legacy:e=>r(e)};Object.defineProperty(exports,`SemaphoreEffect`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`permit`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`semaphore`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1,2 @@
1
+ import{UploadistaError as e}from"./uploadista-error-BVsVxqvz.js";import{Effect as t,Ref as n,Stream as r}from"effect";function i({maxSize:t,onData:n}){let r=0;return new TransformStream({transform(i,a){r+=i.length,n?.(i.byteLength),r>t?a.error(e.fromCode(`ERR_MAX_SIZE_EXCEEDED`)):a.enqueue(i)}})}const a={limit:({maxSize:i,onData:a})=>o=>t.gen(function*(){let s=yield*n.make(0);return o.pipe(r.mapEffect(r=>t.gen(function*(){let t=r instanceof Uint8Array?r.byteLength:0;return yield*n.update(s,e=>e+t),a?.(t),(yield*n.get(s))>i&&(yield*e.fromCode(`ERR_MAX_SIZE_EXCEEDED`).toEffect()),r})))}).pipe(r.unwrap),createTransformStream:e=>i(e)};export{a as StreamLimiterEffect,i as streamLimiter};
2
+ //# sourceMappingURL=stream-limiter-CoWKv39w.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-limiter-CoWKv39w.js","names":[],"sources":["../src/streams/stream-limiter.ts"],"sourcesContent":["import { Effect, Ref, Stream } from \"effect\";\nimport { UploadistaError } from \"../errors/uploadista-error\";\n\ntype StreamLimiterOptions = {\n maxSize: number;\n onData?: (chunkSize: number) => void;\n};\n\nexport function streamLimiter({\n maxSize,\n onData,\n}: StreamLimiterOptions): TransformStream {\n let currentSize = 0;\n\n return new TransformStream({\n transform(chunk, controller) {\n currentSize += chunk.length;\n\n onData?.(chunk.byteLength);\n\n if (currentSize > maxSize) {\n controller.error(UploadistaError.fromCode(\"ERR_MAX_SIZE_EXCEEDED\"));\n } else {\n controller.enqueue(chunk);\n }\n },\n });\n}\n\n/**\n * Effect-based stream limiter that restricts stream size\n */\nexport const StreamLimiterEffect = {\n /**\n * Creates an Effect-based stream limiter\n * @param maxSize - Maximum allowed stream size in bytes\n * @param onData - Optional callback for data progress tracking\n * @returns Effect stream transformation that enforces size limits\n */\n limit:\n ({ maxSize, onData }: StreamLimiterOptions) =>\n <A>(stream: Stream.Stream<A, UploadistaError>) => {\n return Effect.gen(function* () {\n const currentSize = yield* Ref.make(0);\n\n return stream.pipe(\n Stream.mapEffect((chunk) =>\n Effect.gen(function* () {\n const chunkSize =\n chunk instanceof Uint8Array ? chunk.byteLength : 0;\n yield* Ref.update(currentSize, (size) => size + chunkSize);\n\n onData?.(chunkSize);\n const size = yield* Ref.get(currentSize);\n if (size > maxSize) {\n yield* UploadistaError.fromCode(\n \"ERR_MAX_SIZE_EXCEEDED\",\n ).toEffect();\n }\n\n return chunk;\n }),\n ),\n );\n }).pipe(Stream.unwrap);\n },\n\n /**\n * Creates a legacy TransformStream-based limiter\n * @param options - Stream limiter options\n * @returns TransformStream that enforces size limits\n */\n createTransformStream: (options: StreamLimiterOptions): TransformStream =>\n streamLimiter(options),\n};\n"],"mappings":"sHAQA,SAAgB,EAAc,CAC5B,UACA,UACwC,CACxC,IAAI,EAAc,EAElB,OAAO,IAAI,gBAAgB,CACzB,UAAU,EAAO,EAAY,CAC3B,GAAe,EAAM,OAErB,IAAS,EAAM,WAAW,CAEtB,EAAc,EAChB,EAAW,MAAM,EAAgB,SAAS,wBAAwB,CAAC,CAEnE,EAAW,QAAQ,EAAM,EAG9B,CAAC,CAMJ,MAAa,EAAsB,CAOjC,OACG,CAAE,UAAS,YACR,GACK,EAAO,IAAI,WAAa,CAC7B,IAAM,EAAc,MAAO,EAAI,KAAK,EAAE,CAEtC,OAAO,EAAO,KACZ,EAAO,UAAW,GAChB,EAAO,IAAI,WAAa,CACtB,IAAM,EACJ,aAAiB,WAAa,EAAM,WAAa,EAWnD,OAVA,MAAO,EAAI,OAAO,EAAc,GAAS,EAAO,EAAU,CAE1D,IAAS,EAAU,EACN,MAAO,EAAI,IAAI,EAAY,EAC7B,IACT,MAAO,EAAgB,SACrB,wBACD,CAAC,UAAU,EAGP,GACP,CACH,CACF,EACD,CAAC,KAAK,EAAO,OAAO,CAQ1B,sBAAwB,GACtB,EAAc,EAAQ,CACzB"}
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./uploadista-error-BB-Wdiz9.cjs`);let n=require(`effect`);n=e.__toESM(n);function r({maxSize:e,onData:n}){let r=0;return new TransformStream({transform(i,a){r+=i.length,n?.(i.byteLength),r>e?a.error(t.UploadistaError.fromCode(`ERR_MAX_SIZE_EXCEEDED`)):a.enqueue(i)}})}const i={limit:({maxSize:e,onData:r})=>i=>n.Effect.gen(function*(){let a=yield*n.Ref.make(0);return i.pipe(n.Stream.mapEffect(i=>n.Effect.gen(function*(){let o=i instanceof Uint8Array?i.byteLength:0;return yield*n.Ref.update(a,e=>e+o),r?.(o),(yield*n.Ref.get(a))>e&&(yield*t.UploadistaError.fromCode(`ERR_MAX_SIZE_EXCEEDED`).toEffect()),i})))}).pipe(n.Stream.unwrap),createTransformStream:e=>r(e)};Object.defineProperty(exports,`StreamLimiterEffect`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`streamLimiter`,{enumerable:!0,get:function(){return r}});
@@ -0,0 +1 @@
1
+ const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../uploadista-error-BB-Wdiz9.cjs`);let n=require(`effect`);n=e.__toESM(n);var r=class e{stream;current=null;queue;constructor(e){this.stream=new ReadableStream({start:t=>{this.queue=e,this.next(t)},cancel:e=>{this.destroy(e)}})}get readable(){return this.stream}async next(e){if(this.current=null,this.queue.length===0){e.close();return}let t=this.queue.shift();if(!t){e.close();return}try{this.current=t,await this.processCurrentStream(e),this.next(e)}catch(t){e.error(t)}}async processCurrentStream(e){if(!this.current)return;let t=this.current.getReader();try{for(;;){let{done:n,value:r}=await t.read();if(n)break;e.enqueue(r)}}finally{t.releaseLock()}}async destroy(e){let t=[];this.current&&t.push(this.current),Array.isArray(this.queue)&&t.push(...this.queue),await Promise.all(t.map(async t=>{try{t.locked||await t.cancel(e)}catch{}}))}static obj(t){return new e(t)}};const i={fromStreams:e=>n.Stream.fromIterable(e).pipe(n.Stream.flatMap(e=>e)),fromReadableStreams:e=>n.Stream.fromIterable(e).pipe(n.Stream.flatMap(e=>n.Stream.fromReadableStream(()=>e,e=>new t.UploadistaError({code:`UNKNOWN_ERROR`,status:500,body:`Stream processing failed`,details:String(e)})))),obj:e=>new r(e)};exports.MultiStream=r,exports.MultiStreamEffect=i;
@@ -0,0 +1,91 @@
1
+ import { UploadistaError } from "../uploadista-error-kKlhLRhY.cjs";
2
+ import { Stream } from "effect";
3
+
4
+ //#region src/streams/multi-stream.d.ts
5
+
6
+ /**
7
+ * Options for configuring a MultiStream instance
8
+ */
9
+ type StreamOptions = {
10
+ /** Whether the stream should operate in object mode */
11
+ objectMode?: boolean;
12
+ /** The maximum number of chunks that can be queued before backpressure is applied */
13
+ highWaterMark?: number;
14
+ };
15
+ /**
16
+ * A stream that combines multiple ReadableStreams into a single stream.
17
+ * It reads from each stream in sequence, forwarding their chunks to the output.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const stream1 = new ReadableStream({...});
22
+ * const stream2 = new ReadableStream({...});
23
+ * const multiStream = new MultiStream([stream1, stream2]);
24
+ * ```
25
+ */
26
+ declare class MultiStream {
27
+ /** The underlying ReadableStream */
28
+ private stream;
29
+ /** The current stream being read from */
30
+ private current;
31
+ /** Queue of streams to be processed */
32
+ private queue;
33
+ /**
34
+ * Creates a new MultiStream instance
35
+ * @param streams - Array of streams or stream factories to combine
36
+ * @param options - Configuration options for the stream
37
+ */
38
+ constructor(streams: ReadableStream[]);
39
+ /**
40
+ * Gets the underlying ReadableStream
41
+ */
42
+ get readable(): ReadableStream;
43
+ /**
44
+ * Moves to the next stream in the queue
45
+ * @param controller - The stream controller to forward data to
46
+ */
47
+ private next;
48
+ /**
49
+ * Processes the current stream completely
50
+ * @param controller - The stream controller to forward data to
51
+ */
52
+ private processCurrentStream;
53
+ /**
54
+ * Destroys all streams in the queue and the current stream
55
+ * @param reason - Optional reason for destroying the streams
56
+ */
57
+ private destroy;
58
+ /**
59
+ * Creates a new MultiStream instance in object mode
60
+ * @param streams - Array of readable streams or stream factories to combine
61
+ * @returns A new MultiStream instance configured for object mode
62
+ */
63
+ static obj(streams: ReadableStream[]): MultiStream;
64
+ }
65
+ /**
66
+ * Effect-based MultiStream that combines multiple Effect Streams into a single stream
67
+ * @deprecated Use Effect Stream utilities directly instead
68
+ */
69
+ declare const MultiStreamEffect: {
70
+ /**
71
+ * Combines multiple Effect streams into a single sequential stream
72
+ * @param streams - Array of Effect streams to combine
73
+ * @returns A single Effect stream containing all data from input streams
74
+ */
75
+ fromStreams: <A, E = UploadistaError>(streams: Array<Stream.Stream<A, E>>) => Stream.Stream<A, E>;
76
+ /**
77
+ * Creates a MultiStream from ReadableStream instances using Effect
78
+ * @param streams - Array of ReadableStreams to combine
79
+ * @returns Effect stream of Uint8Array chunks
80
+ */
81
+ fromReadableStreams: (streams: ReadableStream<Uint8Array>[]) => Stream.Stream<Uint8Array, UploadistaError>;
82
+ /**
83
+ * Creates a MultiStream instance compatible with legacy API
84
+ * @param streams - Array of streams to combine
85
+ * @returns Legacy MultiStream instance
86
+ */
87
+ obj: (streams: ReadableStream[]) => MultiStream;
88
+ };
89
+ //#endregion
90
+ export { MultiStream, MultiStreamEffect, StreamOptions };
91
+ //# sourceMappingURL=multi-stream.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-stream.d.cts","names":[],"sources":["../../src/streams/multi-stream.ts"],"sourcesContent":[],"mappings":";;;;;;;AAMA;AAkBa,KAlBD,aAAA,GAkBY;EAAA;YAaD,CAAA,EAAA,OAAA;;eAqGD,CAAA,EAAA,MAAA;;;AAStB;;;;;;;;;;AAiB4B,cA5If,WAAA,CA4Ie;;UACT,MAAA;;UAAd,OAAO;;UAqBqB,KAAA;EAAA;;;;;uBArJV;;;;kBAeL;;;;;;;;;;;;;;;;;;;;;sBAsFI,mBAAgB;;;;;;cASzB;;;;;;uBAMO,0BACP,MAAM,MAAA,CAAO,OAAO,GAAG,QAC/B,MAAA,CAAO,OAAO,GAAG;;;;;;iCAST,eAAe,kBACvB,MAAA,CAAO,OAAO,YAAY;;;;;;iBAqBd,qBAAgB"}
@@ -0,0 +1,86 @@
1
+ import { Stream } from "effect";
2
+ import { UploadistaError } from "../errors/uploadista-error";
3
+ /**
4
+ * Options for configuring a MultiStream instance
5
+ */
6
+ export type StreamOptions = {
7
+ /** Whether the stream should operate in object mode */
8
+ objectMode?: boolean;
9
+ /** The maximum number of chunks that can be queued before backpressure is applied */
10
+ highWaterMark?: number;
11
+ };
12
+ /**
13
+ * A stream that combines multiple ReadableStreams into a single stream.
14
+ * It reads from each stream in sequence, forwarding their chunks to the output.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const stream1 = new ReadableStream({...});
19
+ * const stream2 = new ReadableStream({...});
20
+ * const multiStream = new MultiStream([stream1, stream2]);
21
+ * ```
22
+ */
23
+ export declare class MultiStream {
24
+ /** The underlying ReadableStream */
25
+ private stream;
26
+ /** The current stream being read from */
27
+ private current;
28
+ /** Queue of streams to be processed */
29
+ private queue;
30
+ /**
31
+ * Creates a new MultiStream instance
32
+ * @param streams - Array of streams or stream factories to combine
33
+ * @param options - Configuration options for the stream
34
+ */
35
+ constructor(streams: ReadableStream[]);
36
+ /**
37
+ * Gets the underlying ReadableStream
38
+ */
39
+ get readable(): ReadableStream;
40
+ /**
41
+ * Moves to the next stream in the queue
42
+ * @param controller - The stream controller to forward data to
43
+ */
44
+ private next;
45
+ /**
46
+ * Processes the current stream completely
47
+ * @param controller - The stream controller to forward data to
48
+ */
49
+ private processCurrentStream;
50
+ /**
51
+ * Destroys all streams in the queue and the current stream
52
+ * @param reason - Optional reason for destroying the streams
53
+ */
54
+ private destroy;
55
+ /**
56
+ * Creates a new MultiStream instance in object mode
57
+ * @param streams - Array of readable streams or stream factories to combine
58
+ * @returns A new MultiStream instance configured for object mode
59
+ */
60
+ static obj(streams: ReadableStream[]): MultiStream;
61
+ }
62
+ /**
63
+ * Effect-based MultiStream that combines multiple Effect Streams into a single stream
64
+ * @deprecated Use Effect Stream utilities directly instead
65
+ */
66
+ export declare const MultiStreamEffect: {
67
+ /**
68
+ * Combines multiple Effect streams into a single sequential stream
69
+ * @param streams - Array of Effect streams to combine
70
+ * @returns A single Effect stream containing all data from input streams
71
+ */
72
+ fromStreams: <A, E = UploadistaError>(streams: Array<Stream.Stream<A, E>>) => Stream.Stream<A, E>;
73
+ /**
74
+ * Creates a MultiStream from ReadableStream instances using Effect
75
+ * @param streams - Array of ReadableStreams to combine
76
+ * @returns Effect stream of Uint8Array chunks
77
+ */
78
+ fromReadableStreams: (streams: ReadableStream<Uint8Array>[]) => Stream.Stream<Uint8Array, UploadistaError>;
79
+ /**
80
+ * Creates a MultiStream instance compatible with legacy API
81
+ * @param streams - Array of streams to combine
82
+ * @returns Legacy MultiStream instance
83
+ */
84
+ obj: (streams: ReadableStream[]) => MultiStream;
85
+ };
86
+ //# sourceMappingURL=multi-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-stream.d.ts","sourceRoot":"","sources":["../../src/streams/multi-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,WAAW;IACtB,oCAAoC;IACpC,OAAO,CAAC,MAAM,CAAiB;IAC/B,yCAAyC;IACzC,OAAO,CAAC,OAAO,CAA+B;IAC9C,uCAAuC;IACvC,OAAO,CAAC,KAAK,CAAoB;IAEjC;;;;OAIG;gBACS,OAAO,EAAE,cAAc,EAAE;IAYrC;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;OAGG;YACW,IAAI;IA2BlB;;;OAGG;YACW,oBAAoB;IAiBlC;;;OAGG;YACW,OAAO;IAqBrB;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE;CAGrC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;;;OAIG;kBACW,CAAC,EAAE,CAAC,6BACP,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAGtB;;;;OAIG;mCAEQ,cAAc,CAAC,UAAU,CAAC,EAAE,KACpC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC;IAgB7C;;;;OAIG;mBACY,cAAc,EAAE;CAChC,CAAC"}
@@ -0,0 +1,149 @@
1
+ import { Stream } from "effect";
2
+ import { UploadistaError } from "../errors/uploadista-error";
3
+ /**
4
+ * A stream that combines multiple ReadableStreams into a single stream.
5
+ * It reads from each stream in sequence, forwarding their chunks to the output.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const stream1 = new ReadableStream({...});
10
+ * const stream2 = new ReadableStream({...});
11
+ * const multiStream = new MultiStream([stream1, stream2]);
12
+ * ```
13
+ */
14
+ export class MultiStream {
15
+ /** The underlying ReadableStream */
16
+ stream;
17
+ /** The current stream being read from */
18
+ current = null;
19
+ /** Queue of streams to be processed */
20
+ queue;
21
+ /**
22
+ * Creates a new MultiStream instance
23
+ * @param streams - Array of streams or stream factories to combine
24
+ * @param options - Configuration options for the stream
25
+ */
26
+ constructor(streams) {
27
+ this.stream = new ReadableStream({
28
+ start: (controller) => {
29
+ this.queue = streams;
30
+ this.next(controller);
31
+ },
32
+ cancel: (reason) => {
33
+ this.destroy(reason);
34
+ },
35
+ });
36
+ }
37
+ /**
38
+ * Gets the underlying ReadableStream
39
+ */
40
+ get readable() {
41
+ return this.stream;
42
+ }
43
+ /**
44
+ * Moves to the next stream in the queue
45
+ * @param controller - The stream controller to forward data to
46
+ */
47
+ async next(controller) {
48
+ this.current = null;
49
+ if (this.queue.length === 0) {
50
+ controller.close();
51
+ return;
52
+ }
53
+ const nextStream = this.queue.shift();
54
+ if (!nextStream) {
55
+ controller.close();
56
+ return;
57
+ }
58
+ try {
59
+ this.current = nextStream;
60
+ // Process the entire stream before moving to next
61
+ await this.processCurrentStream(controller);
62
+ // Move to next stream
63
+ this.next(controller);
64
+ }
65
+ catch (err) {
66
+ controller.error(err);
67
+ }
68
+ }
69
+ /**
70
+ * Processes the current stream completely
71
+ * @param controller - The stream controller to forward data to
72
+ */
73
+ async processCurrentStream(controller) {
74
+ if (!this.current)
75
+ return;
76
+ const reader = this.current.getReader();
77
+ try {
78
+ while (true) {
79
+ const { done, value } = await reader.read();
80
+ if (done)
81
+ break;
82
+ controller.enqueue(value);
83
+ }
84
+ }
85
+ finally {
86
+ reader.releaseLock();
87
+ }
88
+ }
89
+ /**
90
+ * Destroys all streams in the queue and the current stream
91
+ * @param reason - Optional reason for destroying the streams
92
+ */
93
+ async destroy(reason) {
94
+ const streams = [];
95
+ if (this.current)
96
+ streams.push(this.current);
97
+ if (Array.isArray(this.queue)) {
98
+ streams.push(...this.queue);
99
+ }
100
+ await Promise.all(streams.map(async (stream) => {
101
+ try {
102
+ if (!stream.locked) {
103
+ await stream.cancel(reason);
104
+ }
105
+ // If stream is locked, it's being processed and will be cleaned up naturally
106
+ }
107
+ catch {
108
+ // Ignore errors during cleanup
109
+ }
110
+ }));
111
+ }
112
+ /**
113
+ * Creates a new MultiStream instance in object mode
114
+ * @param streams - Array of readable streams or stream factories to combine
115
+ * @returns A new MultiStream instance configured for object mode
116
+ */
117
+ static obj(streams) {
118
+ return new MultiStream(streams);
119
+ }
120
+ }
121
+ /**
122
+ * Effect-based MultiStream that combines multiple Effect Streams into a single stream
123
+ * @deprecated Use Effect Stream utilities directly instead
124
+ */
125
+ export const MultiStreamEffect = {
126
+ /**
127
+ * Combines multiple Effect streams into a single sequential stream
128
+ * @param streams - Array of Effect streams to combine
129
+ * @returns A single Effect stream containing all data from input streams
130
+ */
131
+ fromStreams: (streams) => Stream.fromIterable(streams).pipe(Stream.flatMap((stream) => stream)),
132
+ /**
133
+ * Creates a MultiStream from ReadableStream instances using Effect
134
+ * @param streams - Array of ReadableStreams to combine
135
+ * @returns Effect stream of Uint8Array chunks
136
+ */
137
+ fromReadableStreams: (streams) => Stream.fromIterable(streams).pipe(Stream.flatMap((readableStream) => Stream.fromReadableStream(() => readableStream, (error) => new UploadistaError({
138
+ code: "UNKNOWN_ERROR",
139
+ status: 500,
140
+ body: "Stream processing failed",
141
+ details: String(error),
142
+ })))),
143
+ /**
144
+ * Creates a MultiStream instance compatible with legacy API
145
+ * @param streams - Array of streams to combine
146
+ * @returns Legacy MultiStream instance
147
+ */
148
+ obj: (streams) => new MultiStream(streams),
149
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-stream.js","names":["streams: ReadableStream[]"],"sources":["../../src/streams/multi-stream.ts"],"sourcesContent":["import { Stream } from \"effect\";\nimport { UploadistaError } from \"../errors/uploadista-error\";\n\n/**\n * Options for configuring a MultiStream instance\n */\nexport type StreamOptions = {\n /** Whether the stream should operate in object mode */\n objectMode?: boolean;\n /** The maximum number of chunks that can be queued before backpressure is applied */\n highWaterMark?: number;\n};\n\n/**\n * A stream that combines multiple ReadableStreams into a single stream.\n * It reads from each stream in sequence, forwarding their chunks to the output.\n *\n * @example\n * ```typescript\n * const stream1 = new ReadableStream({...});\n * const stream2 = new ReadableStream({...});\n * const multiStream = new MultiStream([stream1, stream2]);\n * ```\n */\nexport class MultiStream {\n /** The underlying ReadableStream */\n private stream: ReadableStream;\n /** The current stream being read from */\n private current: ReadableStream | null = null;\n /** Queue of streams to be processed */\n private queue!: ReadableStream[];\n\n /**\n * Creates a new MultiStream instance\n * @param streams - Array of streams or stream factories to combine\n * @param options - Configuration options for the stream\n */\n constructor(streams: ReadableStream[]) {\n this.stream = new ReadableStream({\n start: (controller) => {\n this.queue = streams;\n this.next(controller);\n },\n cancel: (reason) => {\n this.destroy(reason);\n },\n });\n }\n\n /**\n * Gets the underlying ReadableStream\n */\n get readable(): ReadableStream {\n return this.stream;\n }\n\n /**\n * Moves to the next stream in the queue\n * @param controller - The stream controller to forward data to\n */\n private async next(controller: ReadableStreamDefaultController) {\n this.current = null;\n\n if (this.queue.length === 0) {\n controller.close();\n return;\n }\n\n const nextStream = this.queue.shift();\n if (!nextStream) {\n controller.close();\n return;\n }\n\n try {\n this.current = nextStream;\n\n // Process the entire stream before moving to next\n await this.processCurrentStream(controller);\n\n // Move to next stream\n this.next(controller);\n } catch (err) {\n controller.error(err);\n }\n }\n\n /**\n * Processes the current stream completely\n * @param controller - The stream controller to forward data to\n */\n private async processCurrentStream(\n controller: ReadableStreamDefaultController,\n ) {\n if (!this.current) return;\n\n const reader = this.current.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n controller.enqueue(value);\n }\n } finally {\n reader.releaseLock();\n }\n }\n\n /**\n * Destroys all streams in the queue and the current stream\n * @param reason - Optional reason for destroying the streams\n */\n private async destroy(reason?: unknown) {\n const streams: ReadableStream[] = [];\n if (this.current) streams.push(this.current);\n if (Array.isArray(this.queue)) {\n streams.push(...this.queue);\n }\n\n await Promise.all(\n streams.map(async (stream) => {\n try {\n if (!stream.locked) {\n await stream.cancel(reason);\n }\n // If stream is locked, it's being processed and will be cleaned up naturally\n } catch {\n // Ignore errors during cleanup\n }\n }),\n );\n }\n\n /**\n * Creates a new MultiStream instance in object mode\n * @param streams - Array of readable streams or stream factories to combine\n * @returns A new MultiStream instance configured for object mode\n */\n static obj(streams: ReadableStream[]) {\n return new MultiStream(streams);\n }\n}\n\n/**\n * Effect-based MultiStream that combines multiple Effect Streams into a single stream\n * @deprecated Use Effect Stream utilities directly instead\n */\nexport const MultiStreamEffect = {\n /**\n * Combines multiple Effect streams into a single sequential stream\n * @param streams - Array of Effect streams to combine\n * @returns A single Effect stream containing all data from input streams\n */\n fromStreams: <A, E = UploadistaError>(\n streams: Array<Stream.Stream<A, E>>,\n ): Stream.Stream<A, E> =>\n Stream.fromIterable(streams).pipe(Stream.flatMap((stream) => stream)),\n\n /**\n * Creates a MultiStream from ReadableStream instances using Effect\n * @param streams - Array of ReadableStreams to combine\n * @returns Effect stream of Uint8Array chunks\n */\n fromReadableStreams: (\n streams: ReadableStream<Uint8Array>[],\n ): Stream.Stream<Uint8Array, UploadistaError> =>\n Stream.fromIterable(streams).pipe(\n Stream.flatMap((readableStream) =>\n Stream.fromReadableStream(\n () => readableStream,\n (error) =>\n new UploadistaError({\n code: \"UNKNOWN_ERROR\",\n status: 500,\n body: \"Stream processing failed\",\n details: String(error),\n }),\n ),\n ),\n ),\n\n /**\n * Creates a MultiStream instance compatible with legacy API\n * @param streams - Array of streams to combine\n * @returns Legacy MultiStream instance\n */\n obj: (streams: ReadableStream[]) => new MultiStream(streams),\n};\n"],"mappings":"kGAwBA,IAAa,EAAb,MAAa,CAAY,CAEvB,OAEA,QAAyC,KAEzC,MAOA,YAAY,EAA2B,CACrC,KAAK,OAAS,IAAI,eAAe,CAC/B,MAAQ,GAAe,CACrB,KAAK,MAAQ,EACb,KAAK,KAAK,EAAW,EAEvB,OAAS,GAAW,CAClB,KAAK,QAAQ,EAAO,EAEvB,CAAC,CAMJ,IAAI,UAA2B,CAC7B,OAAO,KAAK,OAOd,MAAc,KAAK,EAA6C,CAG9D,GAFA,KAAK,QAAU,KAEX,KAAK,MAAM,SAAW,EAAG,CAC3B,EAAW,OAAO,CAClB,OAGF,IAAM,EAAa,KAAK,MAAM,OAAO,CACrC,GAAI,CAAC,EAAY,CACf,EAAW,OAAO,CAClB,OAGF,GAAI,CACF,KAAK,QAAU,EAGf,MAAM,KAAK,qBAAqB,EAAW,CAG3C,KAAK,KAAK,EAAW,OACd,EAAK,CACZ,EAAW,MAAM,EAAI,EAQzB,MAAc,qBACZ,EACA,CACA,GAAI,CAAC,KAAK,QAAS,OAEnB,IAAM,EAAS,KAAK,QAAQ,WAAW,CACvC,GAAI,CACF,OAAa,CACX,GAAM,CAAE,OAAM,SAAU,MAAM,EAAO,MAAM,CAC3C,GAAI,EAAM,MACV,EAAW,QAAQ,EAAM,SAEnB,CACR,EAAO,aAAa,EAQxB,MAAc,QAAQ,EAAkB,CACtC,IAAMA,EAA4B,EAAE,CAChC,KAAK,SAAS,EAAQ,KAAK,KAAK,QAAQ,CACxC,MAAM,QAAQ,KAAK,MAAM,EAC3B,EAAQ,KAAK,GAAG,KAAK,MAAM,CAG7B,MAAM,QAAQ,IACZ,EAAQ,IAAI,KAAO,IAAW,CAC5B,GAAI,CACG,EAAO,QACV,MAAM,EAAO,OAAO,EAAO,MAGvB,IAGR,CACH,CAQH,OAAO,IAAI,EAA2B,CACpC,OAAO,IAAI,EAAY,EAAQ,GAQnC,MAAa,EAAoB,CAM/B,YACE,GAEA,EAAO,aAAa,EAAQ,CAAC,KAAK,EAAO,QAAS,GAAW,EAAO,CAAC,CAOvE,oBACE,GAEA,EAAO,aAAa,EAAQ,CAAC,KAC3B,EAAO,QAAS,GACd,EAAO,uBACC,EACL,GACC,IAAI,EAAgB,CAClB,KAAM,gBACN,OAAQ,IACR,KAAM,2BACN,QAAS,OAAO,EAAM,CACvB,CAAC,CACL,CACF,CACF,CAOH,IAAM,GAA8B,IAAI,EAAY,EAAQ,CAC7D"}