Buckets:
| // src/helper/streaming/stream.ts | |
| import { StreamingApi } from "../../utils/stream.js"; | |
| import { isOldBunVersion } from "./utils.js"; | |
| var contextStash = /* @__PURE__ */ new WeakMap(); | |
| var stream = (c, cb, onError) => { | |
| const { readable, writable } = new TransformStream(); | |
| const stream2 = new StreamingApi(writable, readable); | |
| if (isOldBunVersion()) { | |
| c.req.raw.signal.addEventListener("abort", () => { | |
| if (!stream2.closed) { | |
| stream2.abort(); | |
| } | |
| }); | |
| } | |
| contextStash.set(stream2.responseReadable, c); | |
| (async () => { | |
| try { | |
| await cb(stream2); | |
| } catch (e) { | |
| if (e === void 0) { | |
| } else if (e instanceof Error && onError) { | |
| await onError(e, stream2); | |
| } else { | |
| console.error(e); | |
| } | |
| } finally { | |
| stream2.close(); | |
| } | |
| })(); | |
| return c.newResponse(stream2.responseReadable); | |
| }; | |
| export { | |
| stream | |
| }; | |
Xet Storage Details
- Size:
- 893 Bytes
- Xet hash:
- 6e2b3173c919f5c922dbcbfaddc72611e4a5a81482c2c7bcd3d64b9c23719553
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.