Shorten the getBytes method in the Stream/ChunkedStream classes

This is very old code and there's currently a bit of unneeded duplication in these methods, especially in the `ChunkedStream` class.
This commit is contained in:
Jonas Jenwald 2026-06-04 13:10:24 +02:00
parent 9071f451a5
commit d36d3ab893
2 changed files with 8 additions and 31 deletions

View File

@ -182,28 +182,14 @@ class ChunkedStream extends Stream {
}
getBytes(length) {
const bytes = this.bytes;
const pos = this.pos;
const strEnd = this.end;
const endPos = !length ? this.end : Math.min(pos + length, this.end);
if (!length) {
if (strEnd > this.progressiveDataLength) {
this.ensureRange(pos, strEnd);
}
this.pos = strEnd;
return bytes.subarray(pos, strEnd);
if (endPos > this.progressiveDataLength) {
this.ensureRange(pos, endPos);
}
let end = pos + length;
if (end > strEnd) {
end = strEnd;
}
if (end > this.progressiveDataLength) {
this.ensureRange(pos, end);
}
this.pos = end;
return bytes.subarray(pos, end);
this.pos = endPos;
return this.bytes.subarray(pos, endPos);
}
getByteRange(begin, end) {

View File

@ -46,20 +46,11 @@ class Stream extends BaseStream {
}
getBytes(length) {
const bytes = this.bytes;
const pos = this.pos;
const strEnd = this.end;
const endPos = !length ? this.end : Math.min(pos + length, this.end);
if (!length) {
this.pos = strEnd;
return bytes.subarray(pos, strEnd);
}
let end = pos + length;
if (end > strEnd) {
end = strEnd;
}
this.pos = end;
return bytes.subarray(pos, end);
this.pos = endPos;
return this.bytes.subarray(pos, endPos);
}
getByteRange(begin, end) {