/
home
/
infinitibizsol
/
.trash
/
node_modules.9
/
@smithy
/
util-stream
/
dist-es
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/node_modules.9/@smithy/util-stream/dist-es/headStream.js
import { Writable } from "stream"; import { headStream as headWebStream } from "./headStream.browser"; import { isReadableStream } from "./stream-type-check"; export const headStream = (stream, bytes) => { if (isReadableStream(stream)) { return headWebStream(stream, bytes); } return new Promise((resolve, reject) => { const collector = new Collector(); collector.limit = bytes; stream.pipe(collector); stream.on("error", (err) => { collector.end(); reject(err); }); collector.on("error", reject); collector.on("finish", function () { const bytes = new Uint8Array(Buffer.concat(this.buffers)); resolve(bytes); }); }); }; class Collector extends Writable { constructor() { super(...arguments); this.buffers = []; this.limit = Infinity; this.bytesBuffered = 0; } _write(chunk, encoding, callback) { this.buffers.push(chunk); this.bytesBuffered += chunk.byteLength ?? 0; if (this.bytesBuffered >= this.limit) { const excess = this.bytesBuffered - this.limit; const tailBuffer = this.buffers[this.buffers.length - 1]; this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess); this.emit("finish"); } callback(); } }
Copyright ©2k19 -
Hexid
|
Tex7ure